То, что вы видели это «старый код» ... но иногда вам все равно нужно поддерживать старые версии (например, 10.5).
Недвижимость - это просто пара геттеров и сеттеров (ну .. это зависит от выбранных вами атрибутов: например, readonly будет генерировать только геттер). Но свойство управляет (и поэтому ему) переменной экземпляра. Обычно то, что вы видите в файле реализации что-то вроде
@implementation class1
@synthesize currentData = currentData;
@end
Это означает, что создание и геттер сеттер, который использует currentData в качестве переменной.
Для новой версии вам не нужно создавать переменную экземпляра, и вы можете просто ввести оператор property и synthesize. В самой последней языковой версии вам даже не нужна инструкция синтеза. Автоматически создается переменная экземпляра с именем _propertyName
(подчеркивание + имя свойства).
BTW: иногда вам по-прежнему необходимо создать свой собственный геттер и/или сеттер. Применяется классическое соглашение об именах (например, - (void)setCurrentData: (NSMutableString*)newData;
для сеттера и - (NSMutableString*)currentData;
для геттера), но те же правила, что и раньше, для свойств: если вы поддерживаете только самые последние операционные системы, вы можете просто написать оператор @property
и правильно использовать ваш геттер и сеттер, используя «подчеркнутый» переменная ...
Это старый. Никто больше не должен этого делать. Просто объявите свойство. Больше нет необходимости также объявлять соответствующий ivar. – rmaddy