在"可可设计模式"一书中,作者有时会在@interface中声明一个属性为readonly:
// .h
@property (readonly, copy) NSArray *shapesInOrderBackToFront;
Run Code Online (Sandbox Code Playgroud)
然后在实现(.m)文件中添加一个未命名的类别,如下所示:
// .m
@interface MYShapeEditorDocument ()
@property (readwrite, copy) NSArray *shapesInOrderBackToFront;
@end
Run Code Online (Sandbox Code Playgroud)
知道为什么?我不清楚这种方法如何比最初将该属性声明为"readwrite"更好或更必要.