假设我有这样的事情:
@property (readonly) NSMutableArray *someArray;
即使@property设置为readonly,我可以修改[obj someArray]吗?
是的,您可以修改其内容.只读只适用于指针本身-这种方式,它不喜欢C++的const
.
基本上,说"只读"只是意味着"不要翻译a.someArray = foo
成[a setSomeArray:foo]
".也就是说,没有创建setter.
(当然,如果你想阻止修改,你只需要使用NSArray
.)