我从不同的程序员那里看到了两种方式。
其他一些只使用 [self.object method] 而不是 [[self object] method] 。
自我是否给了我关于不调用其他物品的安全性? 我认为第二种方式更具可读性。
我应该使用什么?
答案 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]
)。