“retain”和“copy”的区别是什么?对于引用计数有何意义?
我知道使用alloc / retain分配对象时,引用计数会增加一。那么复制呢?
另一个相关问题是,“@property(nonatomic,retain)”和“@property(nonatomic,copy)”之间的区别是什么?
“retain”和“copy”的区别是什么?对于引用计数有何意义?
我知道使用alloc / retain分配对象时,引用计数会增加一。那么复制呢?
另一个相关问题是,“@property(nonatomic,retain)”和“@property(nonatomic,copy)”之间的区别是什么?
retain -- 对已创建的对象进行保留操作,仅会增加引用计数。
copy -- 创建一个新对象。
一般来说,copy
创建一个新对象,该对象的值与原始对象相同,并将新创建对象的引用计数设置为 1(顺便提一下,原始对象的引用计数不受影响)。
然而,对于不可变对象,copy
相当于 retain
,只会将原始对象的引用计数增加 1。