标准 Objective-C BOOK getter 惯例是什么?
What is the standard Objective-C BOOL getter convention?
我知道 @property (nonatomic, getter=isWhatever) BOOL whatever;
是如今在 Objective-C 中声明 BOOL
属性的标准方法(如 this question 中所示)。
但是访问此 属性 的首选方式是什么?据我了解,对于 setter 和非 BOOL
属性,点符号优于 [someObject someProperty]
,但这不会使自定义 getter 名称变得多余吗?
重申一下,我对 getter 约定特别感兴趣:我的理解是 self.whatever
,这会使 [self isWhatever]
未使用且 getter=isWhatever
毫无意义,这似乎是矛盾的。
这是语言随时间演变的意外副作用吗?
为布尔值选择一个比 "whatever" 更好的名称会给出更好的主意。示例:character
与 isCharacter
。 self.isCharacter
看起来不错,可以说比 self.character
更好。
似乎使用 "dot notation" 不会改变布尔值 "is" 前缀约定。
恕我直言,点语法应该始终用于属性和方括号语法(你永远不应该调用 属性 (getter/setter) 方法)并且 "is" 应该作为所有 BOOL 属性的前缀(不仅仅是 getter)。 属性 的正确语法是 myObj.isWhatever.
我知道 @property (nonatomic, getter=isWhatever) BOOL whatever;
是如今在 Objective-C 中声明 BOOL
属性的标准方法(如 this question 中所示)。
但是访问此 属性 的首选方式是什么?据我了解,对于 setter 和非 BOOL
属性,点符号优于 [someObject someProperty]
,但这不会使自定义 getter 名称变得多余吗?
重申一下,我对 getter 约定特别感兴趣:我的理解是 self.whatever
,这会使 [self isWhatever]
未使用且 getter=isWhatever
毫无意义,这似乎是矛盾的。
这是语言随时间演变的意外副作用吗?
为布尔值选择一个比 "whatever" 更好的名称会给出更好的主意。示例:character
与 isCharacter
。 self.isCharacter
看起来不错,可以说比 self.character
更好。
似乎使用 "dot notation" 不会改变布尔值 "is" 前缀约定。
恕我直言,点语法应该始终用于属性和方括号语法(你永远不应该调用 属性 (getter/setter) 方法)并且 "is" 应该作为所有 BOOL 属性的前缀(不仅仅是 getter)。 属性 的正确语法是 myObj.isWhatever.