如果对象具有 type 属性NSString
or NSNumber
, 哪个更好,retain
or copy
?
我认为这些对象是不可变的(不能改变对象的状态)所以复制更好?
我看到了为什么复制比分配 NSMutableString 并更改它更好的示例,但是没有NSMutableNumber
。那么在以下情况下NSNumber
,我最好用retain
to NSNumber
物体?
If copy
更好,因为NSString
and NSNumber
内存使用量小,如果属性是NSArray
type?
NSArray
类型也是不可变的,使用 copy in 怎么样?NSArray
特性?
对于不可变的对象,复制。
对于像大多数 NSStrings 这样的不可变对象,-copyWithZone:
是有效地
-(id) copyWithZone: (NSZone*) zone
{
return [self retain];
}
所以开销是最小的。
对于可变对象,可能是复制,但是对于大型可变对象(例如字符串和大型可变数组),您需要根据分析代码进行判断。当然,对于可变对象,您也可以want原始版本,因为您可能想查看原始版本中的更改。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)