我知道@property (nonatomic, getter=isWhatever) BOOL whatever;
是目前在Objective-C中声明BOOL
属性的标准方法(如this question所示)。
但访问此属性的首选方法是什么?我的理解是,对于setter和非BOOL
属性,点符号优先于[someObject someProperty]
,但是这不会使定义一个自定义getter名称变得多余吗?
重申一下,我特别感兴趣的是getter惯例是什么:我的理解是self.whatever
,这会使[self isWhatever]
未使用,getter=isWhatever
无意义,这似乎是矛盾的。
语言随着时间的推移是否会产生意想不到的副作用?
答案 0 :(得分:4)
为布尔选择一个更好的名称而不是"无论什么"会给出一个更好的主意。示例:character
vs isCharacter
。 self.isCharacter
似乎很好,可以说比self.character
好。
似乎使用"点符号"不会改变布尔值"是"前缀约定。
答案 1 :(得分:2)
IMHO点语法应始终用于方法的属性和括号语法(您不应该调用属性(getter / setter)方法)并且“is”应该为所有BOOL属性(不仅仅是getter)添加前缀。您的属性的正确语法将是myObj.isWhatever。