没有它,“自我”比召唤一个物体更安全吗?

时间:2011-12-06 22:06:01

标签: objective-c

我从不同的程序员那里看到了两种方式。

  • [[自我对象]方法]
  • [对象方法]

其他一些只使用 [self.object method] 而不是 [[self object] method]

自我是否给了我关于不调用其他物品的安全性? 我认为第二种方式更具可读性。

我应该使用什么?

2 个答案:

答案 0 :(得分:0)

我个人使用[对象方法]。但是,通过使用[self.object方法]或[[self object]方法],可以保证没有名称冲突。我认为这只是个人偏好的问题。让我抓住的一件事就是当我使用我使用_object语法合成的属性时,我一直在尝试[对象方法]而不是[_object方法]。所以,它取决于你。

答案 1 :(得分:0)

这取决于你。它们只是不同的编程风格。但是,如果您的getter方法不仅仅返回object,那么每次调用self.object[self object](这些都是相同的事情)可能效率会降低。

例如:

- (NSObject *) object {
  // some random code here
  return _object;
}

考虑以下两个例子:

NSObject *obj = [self object];
[[self object] method];

VS

NSObject *obj = [self object];
[obj method];

第二种方法可能更有效,因为getter方法中的“随机代码”仅执行一次,而在第一个示例中,它执行两次(每次调用[self object])。