我正在尝试了解某些人如何使用策略来区分实例变量与属性。常见的模式如下:
@interface MyClass : NSObject {
NSString *_myVar;
}
@property (nonatomic, retain) NSString *myVar;
@end
@implementation MyClass
@synthesize myVar = _myVar;
现在,我认为此策略背后的整个前提是使人们可以轻松区分ivar和属性之间的区别。因此,如果我想使用由综合属性继承的内存管理,则可以使用以下方法:
myVar = @"Foo";
另一种方法是通过self。[ivar / property here]引用它。
使用@synthesize myVar = _myVar策略的问题是我发现编写如下代码:
myVar = some_other_object; // doesn't work.
编译器抱怨未声明myVar。为什么会这样?
谢谢。
蛊毒传说
哈士奇WWW