我找不到类似的问题,所以我决定问一下(这可能会更适合于程序员,如果是这样,我提前道歉)。
使用点符号和消息调用是不好的做法,如下所示:
[self.view addSubView:otherView];
相反:
[[self view] addSubView:otherView];
我只是好奇,看起来有点奇怪,但我没有看到任何错误。我仍然是Objective-C的新手,并且还不熟悉任何最佳实践。
答案 0 :(得分:4)
它没有任何问题。这只是一个风格问题。使用您喜欢的任何一种。 (顺便说一句,点符号具有优点,如果您使用点表示法调用未声明的属性getter或setter,编译器会抛出错误,因此您可能会摆脱一些奇怪的编译时的运行时错误。)
答案 1 :(得分:1)
这根本不是一个坏习惯。但它只是一个惯例。
无论你感觉良好,你都可以使用。
使用该代码可以使您的代码可读。
喜欢:
employee.name.address.city.zip
<击> 将看起来像:
[employee [name [address [city zip]]]]
击> <击> 撞击>
即使我在上面犯了错误。这是你的可读性。
实际上它应该是:
[[[[employee name] address] city] zip]
,带参数的方法不能与点表示法一起使用,需要使用括号。
double amount=[self calculateInterestOnPrincipal:10000 rate:5.5 year:6]
答案 2 :(得分:0)
简单地说,使用点符号来获取和设置对象的状态。这意味着,您应该对属性对象使用点表示法。你做的很好。 另一方面,括号表示法用于调用对象的行为,如
[self createSubviewWithFrame:_frame];