分类: iOS平台
2015-03-25 18:33:43
1.如果没有同时写get set方法
@property 就会自动产生 @synthesize age = _age;
2.@property (retain)Book *book;
自动产生set方法中的内存管理代码,release旧值,retain新值
基本数据类型不能写,因为内存管理对基本数据类型无效
3.@property (assign)int i; 相当于
@property int i; 直接赋值
4.@property 可填写多个参数
@property (readonly,retain)Book *book;
5.readonly 只读 只生成get方法
默认的时readwrite
6.默认是atomic,提供多线程安全
你生成的get set方法可以有多个线程调用,给方法加锁,保证线程安全
nonatomic不考虑线程安全,禁止多线程,提高效率
7.iphone上几乎所有的的项目都是nonatomic,因为手机上内存吃紧
8.getter 指定get方法名
@property (nonatomic,getter = getbook)Book *book;
book的get方法名字变为 getbook