Objective-C访问器声明(readonly,readwrite等)

时间:2009-12-09 20:07:07

标签: objective-c properties categories

在书中,“可可设计模式”,作者有时会在@interface中声明一个属性为readonly:

// .h
@property (readonly, copy) NSArray *shapesInOrderBackToFront;

然后稍后将未命名的类别添加到实现(.m)文件中,如下所示:

// .m
@interface MYShapeEditorDocument ()
@property (readwrite, copy) NSArray *shapesInOrderBackToFront;
@end

任何想法为什么?我不清楚这种方法如何比最初将该属性声明为“readwrite”更好或更必要。

1 个答案:

答案 0 :(得分:40)

外部财产将是只读的。在课堂内,它将同时具有访问者和设置者。

编译器在实现(.m)文件之外不会显示setter。