自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天王盖地虎

Idea For Different

  • 博客(37)
  • 收藏
  • 关注

原创 看房笔记支持

还记得在那个炎热的夏天,租房遇到了他,顶着大太阳被他带着跑遍了附近的好几条GAI,汗流浃背。我就再想,为什么不能先一起在清凉的空调屋里看好中意的房子呢,这样大家都方便快捷了。而最常用的记录房源信息的是用微信朋友圈,发完再去翻找可能都会忘了它的注意点了。2-地图总览:可在地图上查看所以房子,并可点击查看具体信息,方便的对比位置。而且对与租房的客户来说,也需要记着看过的房子,去做笔记,拍照片,做比较,对比哪个更合适。整个APP不需要联网,没有用户概念,不需要注册,信息都保存在手机磁盘中。分享功能正在安排中。

2023-05-03 17:33:49 75

原创 分类中不要重写父类方法

分类中不要重写父类方法!分类中不要重写父类方法!分类中不要重写父类方法!重要的事情说三遍,遇见必须调用的,尽量用继承吧,菜鸡们。 原因:CocoaFramework有很多是用Category实现的,重写之后,会导致在Runtime的时候,只有一个方法会被执行,而哪个会被执行是undefined。特别是常有控件加分类的时候,更要注意这一点。举个例子:有个菜鸡想用给UI...

2018-10-26 16:28:07 906

转载 iOS开发 地图:国内涉及到的地图坐标系的转换

一.相关的坐标系1)GPS以及iOS系统定位获得的坐标是地理坐标系WGS1984;2)Web地图一般用的坐标细是投影坐标系WGS 1984 Web Mercator;3)国内出于相关法律法规要求,对国内所有GPS设备及地图数据都进行了加密偏移处理,代号GCJ-02,这样GPS定位获得的坐标与地图上的位置刚好对应上;4)特殊的是百度地图在这基础上又进行一次偏移,通称Bd-09;所以以在处理系统定位坐...

2018-05-11 17:18:24 2236

原创 升级xcode9后出现的一些问题

报错1:    Run custom shell script '[cp] Copy PodsResources' error......Command /bin/sh failed with exit code 1原因:xib版本支持问题。比如友盟里面的xib文件,升级到Xcode9之后需要手动配置一下。解决:点击Pods-->找到友盟的文件夹然后找到Resour

2017-09-26 16:35:06 525

原创 初始化一个控制器时需要注意的事情

问题一:看到很多刚开始写iOS的人,喜欢在控制器的init方法里写一些像:self.navigationItem.title = @"xxx";self.view.backgroundColor = [UIColor whiteColor];等之类的方法,很不推荐这样写,理由有二:1,首先,从别处初始化本控制器时,刚刚init时并没有初始化出来视图什么的,只是开辟了一块小内存出来,用来记录和存储本...

2017-09-12 14:48:08 863

原创 使用Cocoa pods管理第三方库

一:流程1,移除自带ruby , 命令:gem sources --remove https://rubygems.org/      结果:https://rubygems.org/ removed from sources2, 添加国内镜像,命令:gem sources -a https://ruby.taobao.org/      结果:https:

2017-08-28 15:03:36 350

原创 使用git托管项目

很重要的一张图:

2017-08-28 14:51:30 192

原创 iOS xxxxx is missing from working copy 的解决方法

1,网上比较靠谱的解决方法:    造成这个问题的最有可能的原因是使用了SVN或者Git,而当你本地删除了这些文件,并没有提交到svn或者git上,当你提交了以后就会没了。Xcode8更新后,编译工程一下子报出800多条类似的警告,好在不影响运行。这个问题出现的原因如下:    在项目中提交过svn或git后,再在本机上删除不用的图片资源后,build后会有   ”xx“i

2017-08-24 11:15:06 251

原创 linker command failed with exit code 1 (use -v to see invocation)

在用git 把SBJson、SDWebImg等加到工程里面后,直接用很可能会报错,如下:Undefined symbols for architecture x86_64:  "_OBJC_CLASS_$_SBJson5Writer", referenced from:      objc-class-ref in NSObject+SBJson.old: symbol(s) no

2017-07-04 14:18:51 298

原创 Duplicate Symbol链接错的原因总结和解决方法

duplicate symbol是一种常见的链接错误,不像编译错误那样可以直接定位到问题的所在。但是经过一段时间的总结,发现这种错误总是有一些规律可以找的。例如,我们有如下的最简单的两个类代码://  ClassA.h#import @interface ClassA : NSObject@end//  ClassA.m#import "ClassA.h"

2017-06-08 09:49:39 3182

转载 沙盒路径解析与获取

出于安全考虑,iOS系统的沙盒机制规定每个应用都只能访问当前沙盒目录下面的文件(也有例外,比如系统通讯录能在用户授权的情况下被第三方应用访问),这个规则把iOS系统的封闭性展现的淋漓尽致。一:各文件夹的权限和保留时间分析1、MyApp.app①存放内容该目录包含了应用程序本身的数据,包括资源文件和可执行文件等。程序启动以后,会根据需要从该目录中动

2017-05-05 16:18:40 121

原创 OC 反射机制的理解(1)

了解反射机制Objective-C语言中的OC对象,都继承自NSObject类。这个类为我们提供了一些基础的方法和协议,我们可以直接调用从这个类继承过来方法。当然,本篇文章中讲到的反射方法,就在NSObject和Foundation框架中。反射机制涉及到的东西比较多,这篇文章只从OC层面来讲反射机制,不涉及runtime部分,以后会写文章来专门讲runtime的。总的来说我

2017-03-16 10:38:30 2103

原创 计时器

下面是一个读秒倒计时例子,按 分钟:秒 显示。首先是三个相关的属性。@property(nonatomic,strong)UILabel* btnVerify;//定时器lable@property(nonatomic,assign)int seconds;//获取到的剩余支付时间的秒数@property(nonatomic,strong)NSTimer* clockT

2017-03-15 17:07:39 244

原创 时间格式、比较等(3):时间戳的与时间的相互转化

#pragma mark - 当前时间转化成时间戳-(NSString*)getUnixTimeFromNowTime{    // 当前时间    NSDate* date = [NSDate dateWithTimeIntervalSinceNow:0];    NSTimeInterval a=[date timeIntervalSince1970]*1000; // *

2017-03-13 16:18:09 592

原创 时间格式、比较等(2):NSDate与NSString的互相转化

由 NSDate 转换为 NSString:NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];NSString *strDate = [dateFormatter stringFrom

2017-03-13 16:15:05 204

原创 音视频播放小略

一、iOS系统自带播放器   要了解iOS视频开发,首先我们从系统自带的播放器说起,一、我们可以直接播放视频,看到效果,不然搞了半天还播放不了视频,会让大家失去兴趣。二、其实对于很多需求来说,系统的播放器就能够胜任。简单介绍下1.MPMoviePlayerController在iOS中播放视频可以使用MPMoviePlayerController类来完成,具备一般的播放器控制功能,

2017-03-10 17:57:26 396

原创 即时通讯基础之socket

什么是socket? 计算机专业术语就是:网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。Socket的英文原义是“孔”或“插座”。作为BSD UNIX的进程通信机制,取后一种意思。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。在Internet上的主机一般运行了多个服务软件,同

2017-03-07 18:03:40 300

原创 Core Animation Core Graphics UIkit 关系

Core Animation:核心动画; Core Graphics:核心绘制 ;UIkit:ios基础视图框架。UIkit继承自 Core Animation 和Core Graphics;可以看成是对两者的高度集成,方便开发者直接应用。uiview通过内部图层layer显示在屏幕上,本身并不能显示。当UIView需要显示到屏幕上时,会调用drawRect:方法进行绘图,

2017-02-27 14:14:24 808

原创 高级iOS工程师需要知道的东西(你能全答上来吗?)

本文是取自于网络的一片小文章,博主感觉还算比较靠谱,遂拿来编辑收藏,值得一看。博主经过自我检验得出:大部分问题回答的七七八八,但不够精细,而且对于Coretext和CoreImage确实没接触过,看来博主要成为高级工程师还需要再努力一点啊!        不管对于招聘和应聘来说,面试都是很重要的一个环节,特别对于开发者来说,面试中的技术问题环节不仅是企业对应聘者技能和积累的考察,也

2017-02-27 12:41:13 342

原创 IPV4 IPV6区别

目前的全球因特网所采用的协议族是TCP/IP协议族。IP是TCP/IP协议族中网络层的协议,是TCP/IP协议族的核心协议。目前IP协议的版本号是4(简称为IPv4),发展至今已经使用了30多年。IPv4的地址位数为32位,也就是最多有2的32次方的电脑可以联到Internet上,近十年来由于互联网的蓬勃发展,IP位址的需求量愈来愈大,使得IP位址的发放愈趋严格,各项资料显示全球IPv4位址可能在

2017-02-21 13:01:45 549

原创 正则表达 判断邮箱手机号等(备用)

以下为相关方法,可以直接拿来作为公共工具类,用来判断用户名、邮箱、密码、手机号等,根据需要稍作更改即可。留已备用。.h文件#import @interface BCBaseObject : NSObject/* * 用正则判断用户名,是否2-16位 */+ (BOOL) checkInputUserName:(NSString *)text;/* *

2017-02-21 12:53:42 327

原创 计算字符串的宽度、高度

在使用UILabel存放字符串时,经常需要获取label的长宽数据,本文列出了部分常用的计算方法。1.获取宽度,获取字符串不折行单行显示时所需要的长度 CGSize titleSize = [aString sizeWithFont:font constrainedToSize:CGSizeMake(MAXFLOAT, 30)];注:如果想得到宽度的话,size的width

2017-02-15 16:50:24 1012

原创 用国内外地图时应该知道的一些东西

苹果地图国内用的是高德的数据,国外用的是tomtom的数据,根据定位来判断的。高德地图ios版在V4.1.0以上不再支持国外地图的,我们用的v3.3.0所以会支持。但是ios10之后他们的V4.1.0以下版本的Api会产生线程死锁的崩溃。所以不能用高德了。现在我们转百度了。但是用google的坐标又会出现国内地图坐标偏移。所以必须国内用百度坐标,国外用google坐标。

2017-02-08 18:42:21 456

转载 textField详解

//初始化textfield并设置位置及大小  UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; //设置边框样式,只有设置了才会显示边框样式    text.borderStyle = UITextBorderStyleRoundedRect;

2017-01-22 17:48:50 852

原创 时间格式、比较等(1)

转载:http://blog.csdn.NET/sunnyboy9/article/details/49889923/*******  设置两个时间差为固定值  *******/        NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalen

2017-01-19 10:42:52 467

原创 json带转义字符的处理方法

-(NSString *)JSONString:(NSString *)aString {        NSMutableString *s = [NSMutableString stringWithString:aString];        [s replaceOccurrencesOfString:@"\"" withString:@"\\\"" options:NSCa

2016-12-23 14:55:04 6113

原创 plist文件的增删改查

创建plist文件有两种方法,一个直接从xCode创建,一个是用归档的方式代码创建。1,首先是归档方式创建://缓存文件名称#define ManagePath @"/manageCachArr.plist" NSString *paths = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomai

2016-12-23 10:25:27 395

原创 runtime nscode model转字典 存储model数组

#import //获取对象的所有属性- (NSArray *)getAllProperties{    u_int count;    objc_property_t *properties  =class_copyPropertyList([selfclass], &count);    NSMutableArray *propert

2016-12-22 11:54:05 574

原创 iOS 打印各种变量

打印frame:NSLog(@"%@",NSStringFromCGRect(pickerView.frame));或者CFShow(NSStringFromCGRect(pickerView.frame));打印 CGSize :NSLog(@"%@",NSStringFromCGSize(someCG Size ));

2016-12-21 14:25:34 512

原创 ios 基本运算符

一、算术运算  c语言一共有34种运算符,包括了常见的加减乘除  1.加法运算+    # 除了能做加法运算,还能表示正号:+5、+90  2.减法运算-    # 除了能做减法运算,还能表示符号:-10、-200  3.乘法运算*    # 注意符号,不是x,而是*  4.除法运算/    # 注意符号,不是÷,也不是\,而是/    # 整数除于整数

2016-12-21 10:40:34 1297

原创 关于队列

队列分为 并行队列,串行队列。无论是Serial Queue还是Concurrent Queue,都是队列,只要是队列都遵循FIFO(First In First Out -- 先入先出)的规则,排队嘛,当然是谁先来的谁先走了。不过在Serial Queue中要等到前面的任务出队列并执行完后,下一个任务才能出队列进行执行。而Concurrent Queue则不然,只要是队列前面的任务出队列了,

2016-11-28 16:30:49 274

原创 UILable 高度自适应方法汇总

方法1://lable高度自适应,lable:需要自适应高度的lable,line:需要的行间距-(void)Line:(UILabel *)label andLineSpace:(CGFloat)line{    if([label.text isKindOfClass:[NSString class]])    {        //可变属性字符串        N

2016-11-15 15:24:10 391

原创 block __weak __strong

block定义:typedef void(^ myBlock)(nsstring* strx);#...@property(nonatomic,copy)myBlock mBlock;__weak的使用当需要在block中引用本类的方法、变量的时候需要用__weak typeof(self) weakself = self;目的:防止循环引用

2016-11-10 18:49:45 234

原创 oc swift混编实践问题总结

swift已经慢慢变得越来越让人喜欢了。所以,我们团队开始尝试探索把我们庞大的项目实现oc和swift的混编。至于为什么不直接重构,那是因为实在是时间和事实不允许,毕竟我们的APP已经是好几年的庞然大物了。        言归正传,我开始尝试着用swift来重写一个oc页面,看看难度如何,先趟趟坑再说。下面就是我自己遇到的一些小坑,总结如下。(纯代码开发,swift3.0)1,关于

2016-09-27 17:46:37 2399

转载 xcode 中 #pragma 代码注释问题

xcode 中#pragma得使用经常在 Xcode IDE 里面的代码中看到以下代码指令: #pragma mark - #pragma mark Initialization #pragma 是什么 从技术上讲,以 #pragma 开头的代码是一条编译器指令,是一个特定于程序或编译器的指令。它们不一定适用于其它编译器或其它环境。如果编译器不能识别

2016-09-27 11:33:47 293

原创 ios10 问题总结

1、使用蓝牙相关的,CBCentralManagerState废弃,使用CBManagerState替代。CBCentralManager直接继承与CBManager,里面直接声明的属性:@property(nonatomic, assign, readonly) CBManagerState state;2、webView的代理方法:- (void)webVi

2016-09-27 11:16:50 392

原创 有关证书和真机测试时需要明确的问题

1,首先要知道,开发者帐号的证书只能在一个电脑上制作,制作完成之后,下载下来,双击安装。 然后会自动生成一个名叫Keychain(就是.p12文件)的开发密钥发给想要进行真机测试的电脑。2,需要进行真机测试的电脑需要安装上一个证书。然后自己添加新的APPID,然后注意要添加允许的设备(帐号里面添加的设备)。然后 要进行配置文件provisioning   profiles

2015-12-25 10:30:58 214

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除