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
*/
@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
*/