在书中,“可可设计模式”,作者有时会在@interface中声明一个属性为readonly:
// .h
@property (readonly, copy) NSArray *shapesInOrderBackToFront;
然后稍后将未命名的类别添加到实现(.m)文件中,如下所示:
// .m
@interface MYShapeEditorDocument ()
@property (readwrite, copy) NSArray *shapesInOrderBackToFront;
@end
任何想法为什么?我不清楚这种方法如何比最初将该属性声明为“readwrite”更好或更必要。
答案 0 :(得分:40)
外部财产将是只读的。在课堂内,它将同时具有访问者和设置者。
编译器在实现(.m)文件之外不会显示setter。