У меня есть ситуация, когда я не хочу, чтобы переменные экземпляра были синтезированы для набора свойств (я управляю их через пользовательские значения по умолчанию и брелок).
Если у меня есть следующее, _loginUsername
наверняка будет синтезировано:
@property (nonatomic, readonly) NSString *loginUsername;
И я знаю, что если бы у меня было следующее, переменная экземпляра не была бы синтезирована, потому что в заявлении говорится: "Я сам позабочусь об этом":
@property (nonatomic, getter = loginUsername, setter = setLoginUsername) NSString *loginUsername;
Является ли поведение одинаковым для свойства readonly с пользовательским getter?:
@property (nonatomic, readonly, getter = loginUsername) NSString *loginUsername;
Будет ли синтезирован _loginUsername
для объявления окончательного свойства? Я уверен, что не будет, но я пытаюсь лучше понять атрибуты свойств, поэтому хочу убедиться, что я не сработал.
Бонусные баллы для объяснения того, известно ли это во время компиляции (нет обмана и проверки в Xcode!).
У меня нет никаких операторов @synthesize
в моем файле реализации.