Possible Duplicate:
Difference between self.ivar and ivar?
我想知道,例如,我是否将实例变量定义为 Obj-C 中的属性,
@property (copy) NSString *str;
和
@synthesize str = _str;
我应该在实例方法中访问它
_str = @"ABC";
或者我应该使用访问器,即
[self setStr:@"ABC"];
有关于此的一般准则吗?
非常感谢!
最佳答案
可以从类内部读取实例变量:
NSLog(@"str = %@", _str);
但不要直接设置实例变量:
_str = @"ABC"; // No!
这会绕过您在属性(property)上精心设置的复制
机制。因此,请这样做:
[self setStr:@"ABC"]; // Ok
self.str = @"ABC"; // Ok, shorter
关于iphone - 在 Objective-C 中访问实例属性的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12926544/