2016年2月28日

深拷贝和浅拷贝(copy & mutableCopy)

摘要: 一、Copy 1、NSObject的对象方法,返回值=通过NSCopying协议中copyWithZone:返回的对象。 2、如果类实现NSCopying协议,copy很便利,否则会导致异常。 3、NSObject本身不支持NSCopying协议,子类想调用copy,必须支持该协议,且实现copyW 阅读全文

posted @ 2016-02-28 01:51 Beche 阅读(501) 评论(0) 推荐(0) 编辑

2016年1月12日

宏定义中#与##

摘要: 遇到过如下代码:// 情况一:#define __xstr(s) __str(s)#define __str(s) #s// 情况二#define __xstr(s) #sNSLog(@"%s", __xstr(INT_MAX));// 情况一运行结果:2147483647// 情况二运行结果:IN... 阅读全文

posted @ 2016-01-12 15:53 Beche 阅读(343) 评论(0) 推荐(0) 编辑

2016年1月11日

如何修改API中方法?

摘要: 问题场景:如何统一修改viewController中的viewDidLoad方法,添加一句打印操作?一、Method Swizzling解决1、在viewController的分类中新增viewDidLoaded方法,方法内部调用类的viewDidLoad方法,并增加NSLog方法。2、使用meth... 阅读全文

posted @ 2016-01-11 14:15 Beche 阅读(1895) 评论(0) 推荐(0) 编辑

2015年12月22日

静态变量-static关键词

摘要: 一、静态变量static用法需声明在@implementaion中,如果声明在@interface或@protocol中:@property (nonatomic, strong) static NSString *s2;报错:Type name does not allow storage cla... 阅读全文

posted @ 2015-12-22 14:36 Beche 阅读(1046) 评论(0) 推荐(0) 编辑

单例模式 & Init(allocWithZone:)

摘要: 一、Init 在分配内存后,子类通过该实例方法,实例化类的新对象。 1、init消息需要在同一行复合alloc方法使用,如SomeClass *obj = [[SomeClass alloc] init]; 2、方法返回值可能为nil,比如在没有相机的设备上新建相机对象就会返回nil。为保证你的创建 阅读全文

posted @ 2015-12-22 14:05 Beche 阅读(375) 评论(0) 推荐(0) 编辑

导航