首页 > 代码库 > iOS复习笔记6:property详解
iOS复习笔记6:property详解
@property type xxx 可以自动生成一个type _xxx;成员变量;
同时还生成对应的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方法名(注意一定要有冒号)
* 四种类型的参数只要不功能冲突,可以同时存在。
例如:
同时还生成对应的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;
iOS复习笔记6:property详解
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。