代码风格:作为属性访问

时间:2011-11-04 18:11:38

标签: iphone objective-c ios xcode properties

  

可能重复:
  Style: Dot notation vs. message notation in Objective-C 2.0

在NSArray的苹果文档中,它说:“实例方法>” “计数”。所以,通常我会写[[NSArray array] count]。但是,[NSArray array].count工作得很好......最近我发现UIScreen.mainScreen.bounds也被接受了。 mainScreenUIScreen的类方法。

有人想过要使用哪种风格(以及为什么)?请评论。

2 个答案:

答案 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]相同

除了属性访问之外,不应该使用点语法。对于物业访问,选择是个人风格的问题。