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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。