我在接口中声明了一个 readonly 属性:
@property (readonly, nonatomic, copy) NSString* eventDomain;
也许我误解了属性,但是我认为当您将其声明为 readonly
时,您可以在实现(.m
)文件中使用生成的 setter,但是外部实体不能更改值。这个问题说这是应该发生的。这就是我要找的行为。但是,当尝试使用标准 setter 或 dot 语法在 init 方法中设置 eventDomain
时,它会给我一个 unrecognized selector sent to instance.
错误。我当然是 @synthesize
ing 的财产。试着像这样使用它:
// inside one of my init methods
[self setEventDomain:@"someString"]; // unrecognized selector sent to instance error
那么,我是否误解了物业的 readonly
声明? 还是出现了其他问题?