我正在尝试在 iOS 上实现具有自动引用计数的自定义属性。
我的.h
文件:
@interface AObject : NSObject
@property(nonatomic,copy) NSString* str;
@end
我的.m
文件:
@implementation AObject
@synthesize str = _str;
-(void)setStr:(NSString *)str {
if (![_str isEqualToString:str]) {
// Which one is right?
_str = [str copy]; //(1)
_str = str; //(2)
}
}
@end
我应该使用 (1) 和 (2) 两条线中的哪一条?我对两者都进行了测试,两者似乎都有效。有区别吗?