这是Objective-C 2.0编程语言的一个例子。 我只是想知道,在底部的二传手,我可以使用value = [newValue retain]
而不是value = [newValue copy]
?关于setter在objective-c中的问题
@interface MyClass : NSObject
{
NSString *value;
}
@property(copy, readwrite) NSString *value;
@end
// assume using garbage collection
@implementation MyClass
@dynamic value;
- (NSString *)value {
return value;
}
- (void)setValue:(NSString *)newValue {
if (newValue != value) {
value = [newValue copy];
}
}
@end
通过API,教会意味着你的`value`财产申报。两者都应该是“复制”或“保留”。 – notnoop 2009-07-16 15:19:59
所以通过使用副本,我可以跳过类型检查,以避免运行时错误,这是什么想法? – derrdji 2009-07-16 15:21:09