iOS复习笔记6:property详解
同时还生成对应的setter和getter方法。
可以通过以下四种类型的参数,控制生成getter和setter方法。
1 set方法内存管理参数
1.1 assign: 默认值,直接赋值,使用于基础数据类型
1.2 retain: release旧值,retain新值,再赋值
1.3 copy : release旧值,copy新值
2 是否要生成setter方法的参数
2.1 readwrite: 默认值,同时生成setter,getter方法声明和实现
2.2 readonly : 只会生成get方法
3 多线程加锁控制参数
3.1 natomic : 默认值,多线程中加锁
3.2 nonatomic: 多线程中不加锁,性能高, 推荐使用
4 方法名参数(一般只用于改变布尔类型的getter方法)
4.1 getter:getter方法名
4.2 setter:setter方法名(注意一定要有冒号)
* 四种类型的参数只要不功能冲突,可以同时存在。
例如:
@property(nonatomic, assign, readwrite) int age; @property(nonatomic, getter = isRich) BOOL rich; @property(nonatomic, retain) Book* book;
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。