属性
GreenWitch
你必须非常努力,才能看起来毫不费力
展开
-
iOS——@synthesize 与@dynamic 的不同
一、SDK中描述是在声明property的时候,有2个选择 1:通过@synthesize 指令告诉编译器在编译期间产生getter/setter方法。 2:通过@dynamic指令,告诉编译器属性的setter与getter 方法由用户自己实现。 假如一个属性被声明为@dynamic str, 然后没有提供setter和getter方法,编译的时候没有问题,但是当程序运行到 instacn原创 2015-12-03 10:11:10 · 461 阅读 · 0 评论 -
iOS —— ARC、MRC 下dealloc 方法存在的意义
MRC下dealloc 方法其实在MRC中dealloc方法存在的主要意义是为了 释放自身的实例变量, 移除观察者, 停止timer, 移除通知, 代理置空等。 注意MRC 下dealoc 方法一定要在最后写 [super dealloc]; ARC下 系统会帮助我们释放该对象所包含的实例变量,但是有些对象还是需要们自己去释放的(比如Core Foundation框架下的一些对象),另外通知中观察者原创 2015-12-03 13:57:58 · 3335 阅读 · 0 评论 -
iOS——延展、类目、代理协议
类目应用 对现有的类添加扩展,如:系统中的类,在类目中添加的方法会被子类继承,而且运行时跟其他的方法没有区别。 作为子类的替代方式,不需要定义和使用一个子类,可以通过类目直接向已有的类目里添加方法。 对类中的方法进行归类,利用catigopry把一个庞大的类划分为小块来分别进行开发,从而更好地对类中的方法进行更新和维护。 通过类目添加的方法会成为原始类 的一部分 注原创 2015-12-03 11:06:50 · 531 阅读 · 0 评论 -
iOS——属性的属性
属性关键字 补充 关于nonatomic,如果我们能确定不需要多线程访问时,强烈推荐使用这个关键字,因为atomic对于性能的损失相对较大。 nonatomic 决定比编译器生成的setter、getter 方法是否是原子操作。 如果是类的delegate,推荐使用assign关键字,原因是避免了retain的死循环造成的对象无法真正的释放 strong 、weak原创 2015-12-03 15:16:04 · 814 阅读 · 0 评论