您的位置:首页 > 运维架构

@property 属性理解

2015-09-09 20:03 323 查看
1@property (nonatomic,copy)NSString *name;

@property (nonatomic,assign)NSInteger age;//不需要在dealloc中release

/*

属性

下面这句话相当于做了三件事

1,声明了一个实例变量_name

2,实现了setter方法

3,实现了getter方法

property的属性有三类 1,读写控制-readonly readwrite(默认)

@property (setter = setterName:)NSString *name; //可以改变set,get方法

2,原子性控制 atomic(可以保证多线程下访问安全,是枷锁操作,但是要消耗CPU资源) nonatomic

3,语义控制 retain copy assign(直接赋值 _name = name)

assign 基本数据类型时使用

retain 所有对象类型都可使用

copy 遵守了copy协议并且实现了协议的才能用,慎重使用(NSString能把字符串从栈区控制到堆区)NSString使用copy

代理/协议使用assign block使用copy NSArray不能使用assign

*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: