Я пытаюсь понять, как стратегии используют некоторые люди, чтобы отличать экземпляры vars от свойств. Общий шаблон выглядит следующим образом:
@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 не объявлен. Почему это так?
Спасибо.