iOS 修饰属性@property的关键字assign、copy、retain

assign:修饰基本数据类型 (int、 float、double、char、NSInteger、CGFloat、BOOL等)

copy:修饰NSString

retain/strong:修饰其他对象类型


•iOS5之前用assign、copy、retain等关键字修饰属性,iOS5之后引入了ARC,提出了新的关键字strong、weak。相对而言,weak相当于assign(基本一致),strong相当于retain(完全一致)。

引用计数:在OC中每个对象内部都有一个与之对应的整数(retainCount),叫“引用计数”。当一个对象在创建之后它的引用计数为1;当调用这个对象的alloc、retain、new、copy方法之后引用计数自动在原来的基础上加1(OC中调用对象的方法就是给这个对象发送一条消息);当调用这个对象的release方法之后它的引用计数减1;如果一个对象的引用计数为0,系统会自动调用这个对象的dealloc方法来销毁这个对象。

对象操作 Objective-C方法 引用计数
生成并持有对象 alloc/new/copy/mutablecopy 1
持有对象 retain方法 +1
释放对象 release -1
废弃对象 dealloc 0

你可能感兴趣的:(iOS 修饰属性@property的关键字assign、copy、retain)