@interface PaneBean : NSObject
@property(nonatomic,copy) NSString *name;
@property(nonatomic,copy) NSString *type;
@property(nonatomic,assign) NSInteger width;
@end
我有一个 PaneBean,如上所示。
我是否应该使用@property(nonatomic,copy)
or @property(nonatomic,strong)
for my (NSString *) name
?它们之间有什么区别?
为 NSInteger 写“分配”是否正确?
任何帮助表示感谢。提前致谢!
'copy' 将导致该属性的 setter 创建对象的副本,在其他方面与 Strong 相同。您可以使用它来确保如果有人将您的属性设置为可变字符串,然后更改该字符串,您仍然拥有原始值。如果字符串不可变,Cocoa 将默默地优化复制操作,这很好:)
“强”将使该财产的价值保持活力,直到它被设置为其他东西。如果你want传入的可变字符串从你的下面改变(并非不可能,但不是那么常见,这是一件想要的事情),那么强将是正确的事情。一般来说,strong 对于表示比简单“值”更复杂的对象(即不是 NSString、NSNumber、NSValue 等)更有用。
“分配”是整数的默认(实际上也是唯一)可能的设置。整数不能像对象一样被保留或复制。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)