這是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