Objective-C:在消息中使用点符号是不好的做法吗?

时间:2013-04-05 05:45:16

标签: objective-c syntax

我找不到类似的问题,所以我决定问一下(这可能会更适合于程序员,如果是这样,我提前道歉)。

使用点符号和消息调用是不好的做法,如下所示:

[self.view addSubView:otherView];

相反:

[[self view] addSubView:otherView];

我只是好奇,看起来有点奇怪,但我没有看到任何错误。我仍然是Objective-C的新手,并且还不熟悉任何最佳实践。

3 个答案:

答案 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];