Я объявил свойство readonly в моем интерфейсе как таковом:
@property (readonly, nonatomic, copy) NSString* eventDomain;
Возможно, я неправильно понимаю свойства, но я думал, что когда вы объявляете его как readonly
, вы можете использовать сгенерированный сеттер внутри файла реализации (.m
), но внешние объекты не могут изменить значение. Этот вопрос SO говорит, что должно произойти. Это поведение, которое я переживаю. Однако при попытке использовать стандартный синтаксис сеттера или точки для установки eventDomain
внутри моего метода init он дает мне ошибку unrecognized selector sent to instance.
. Конечно, я @synthesize
свойство. Попытка использовать его следующим образом:
// inside one of my init methods
[self setEventDomain:@"someString"]; // unrecognized selector sent to instance error
Так я не понимаю объявление readonly
для свойства? Или что-то еще происходит?