黑马程序员技术交流社区
标题:
@property参数的最全的总结!
[打印本页]
作者:
梦里花落知多少s
时间:
2016-10-9 16:21
标题:
@property参数的最全的总结!
@property参数的总结
1. 开发程序分为 ARC 和 MRC:
2. 与多线程相关的2个参数:
atomic:默认的。安全,但效率低下。
nonatomic:不安全,效率高。
无论在ARC还是在MRC都可以使用!
使用建议:无论是ARC还是MRC,都使用nonatomic!
3. retain:
只能用在MRC的模式下,代表生成的setter方法是标准的MRC内存管理代码。
当属性的类型是OC对象的时候,绝大多数情况下使用retain,只有在出现了循环引用的时候,1边使用retain,1边使用assign。
4. assign(默认的):
在ARC和MRC下都能使用assign!当属性的类型是非OC对象的时候,就使用assign!
5. strong(默认的):
只能使用在ARC机制下,当属性的类型是OC对象类型的时候,绝大多数情况下都是用strong!只有出现了循环引用的时候,1端strong,1端weak!
6. weak:
只能使用在ARC机制下,
当属性的类型是OC对象类型的时候,
只有出现了循环引用的时候,1端strong,1端weak!
7. readwrite(默认的) readonly:
无论是ARC,还是MRC下,都可以使用!如果希望指针是只读的,那就用readonly。否则,就用readwrite!
8. setter getter:
无论是ARC,还是MRC下,都可以使用!
无论什么情况都不要改setter方法的名字,因为默认情况下生成的名字就已经是最标准的了!
而getter方法的名字可以在属性的类型是BOOL类型的时候,修改为以is开头的名字,可以提高代码的阅读性
重中之重:
在ARC机制下,原来使用retain的地方用strong。
出现循环引用的时候:
1)MRC:1边retain,1边assign
2)ARC:1边strong,1边weak
作者:
邱中林
时间:
2016-10-9 23:43
可以借用~~
作者:
梦里花落知多少s
时间:
2016-10-10 19:21
邱中林 发表于 2016-10-9 23:43
可以借用~~
欢迎欢迎{:3_64:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2