【发布时间】:2009-04-30 13:29:38
【问题描述】:
我有一个只读的 BOOL 属性。这里的主要命名模式是什么?
背景:对于普通的旧方法声明,可接受的模式
- (BOOL)isEditable;
- (void)setEditable:(BOOL)flag;
在@property 世界中,这通常表示为
@property(getter=isEditable) BOOL editable;
但是,也有相反的例子。比如在 CalStore/CalCalendar.h
@property(readonly) BOOL isEditable;
(这里的 CalCalendar 是错误的吗,或者这也是只读 BOOL 属性的可接受命名模式?)
我有一个管理视图的控制器,它可以调整大小,也可以不调整大小。该属性是只读的。
@property(readonly) BOOL viewIsResizable;
@property(readonly) BOOL isViewResizable;
@property(readonly, getter=isViewResizable) BOOL viewResizable;
哪种图案最自然或最像可可?
【问题讨论】:
-
我觉得不得不写 calendar.isEditable 而不是 calendar.editable 似乎很尴尬。我认为你的第三个选择是最“可可”和自然的。这主要是一个意见问题,但这是我的偏好,因为它与 Cocoa 的其他部分最一致。
-
这不是意见问题,而是正确的问题。话虽如此,亚历克斯绝对是对的:第三个是要走的路。
-
Alex 似乎自相矛盾 - 不是第三个答案会导致“calendar.isEditable”,即所谓的“尴尬”
-
大黄:没有;第三个答案是
@property(readonly, getter=isViewResizable) BOOL viewResizable;。
标签: objective-c cocoa