Propriedades somente leitura no Objective-C?

Eu declarei uma propriedade somente leitura na minha interface como tal:

 @property (readonly, nonatomic, copy) NSString* eventDomain;

Talvez eu esteja entendendo mal as propriedades, mas pensei que quando você a declara comoreadonly, você pode usar o configurador gerado dentro da implementação (.m), mas entidades externas não podem alterar o valor.Esta questão SO diz que é isso que deveria acontecer. Esse é o comportamento que eu estou procurando. No entanto, ao tentar usar o setter padrão ou a sintaxe de ponto para definireventDomain dentro do meu método init, isso me dá umaunrecognized selector sent to instance. erro. É claro que estou@synthesizepropriedade. Tentando usá-lo assim:

 // inside one of my init methods
 [self setEventDomain:@"someString"]; // unrecognized selector sent to instance error

Então, eu estou entendendo mal oreadonly declaração sobre uma propriedade? Ou algo mais está acontecendo?

questionAnswers(7)

yourAnswerToTheQuestion