可能重复:
Style: Dot notation vs. message notation in Objective-C 2.0
在NSArray的苹果文档中,它说:“实例方法>” “计数”。所以,通常我会写[[NSArray array] count]
。但是,[NSArray array].count
工作得很好......最近我发现UIScreen.mainScreen.bounds
也被接受了。 mainScreen
是UIScreen
的类方法。
有人想过要使用哪种风格(以及为什么)?请评论。
答案 0 :(得分:3)
IMO,点语法意味着一定的被动性;使用它不应该有明显的副作用。将NSArray的-count
方法作为属性处理可能是可以的,即使它实际上不是一个(可能是在创建NSArray时属性是语言的一部分),但是说someMutableArray.removeLastObject
即使它可能工作得很好,也会冒犯我的感情。
关于点符号,你应该知道的一件事是,你不能在作业的左侧混合使用Objective-C的点符号和C的点符号。换句话说,不要试试这个:
myView.bounds.origin.x = 50.
你必须说:
CGRect newBounds = myView.bounds;
newBounds.origin.x = 50;
myView.bounds = newBounds;
答案 1 :(得分:3)
Dot语法只是调用方法的语法糖。因此[NSArray array].count
与[[NSArray array] count]
相同,而UIScreen.mainScreen
与[UIScreen mainScreen]
相同
除了属性访问之外,不应该使用点语法。对于物业访问,选择是个人风格的问题。