1.@property属性说明
@property原本和 @synthesize 配合使用。xcod5.0之后,@synthesize可以省略不写,在.h文件中写了@property之后,编译器会自动生成相应的实例变量。
2.@property语法
@property (参数1,参数2) 类型 名称;
参数类型(3种):
读写属性: (readwrite / readonly / setter = / getter =)
setter语意:( assign / retain / copy )
原子性: ( atomicity / nonatomic )
retain 和 copy
copy:建立一个索引计数为1的对象,并且释放久对象。(也就是说 copy是 建立了一个相同的对象,而不是retain)
retain :释放旧对象,将旧对象的值赋予输入对象,再提高输入对象的索引计数为1.
例如:
一个NSString 对象的地址为0x1111,内容为@"string"
copy 之后,对象地址变为0x22222,内容不变,retain 为 1
retain 之后 ,对象地址还是为0x1111,内容不变,retain +1
retain 是指针拷贝, copy是内容拷贝
简单使用:
copy :对于 NSString
assign:对于基础数据类型(NSInteger,CGFloat) c 数据类型 (int ,fload,double,char 等待)
retain:NSObject和其他子类