0

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

将点表示法与消息调用一起使用是不好的做法,如下所示:

[self.view addSubView:otherView];

相对于:

[[self view] addSubView:otherView];

我只是好奇,它看起来有点奇怪,但我看不出有什么问题。我对 Objective-C 还比较陌生,还不熟悉任何值得注意的最佳实践。

4

3 回答 3

4

它没有任何问题。这只是一个风格问题。使用您喜欢的任何一个。(顺便说一下,点符号的优点是,如果您使用点符号调用未声明的属性 getter 或 setter,编译器会抛出错误,因此您可以在编译时消除一些奇怪的运行时错误.)

于 2013-04-05T05:52:15.160 回答
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]
于 2013-04-05T05:50:35.963 回答
0

简单地说,使用点符号来获取和设置对象的状态。这意味着,您应该对属性对象使用点表示法。正如你所做的一切都很好。另一方面,括号表示法用于调用对象的行为,例如

[self createSubviewWithFrame:_frame];
于 2013-04-05T06:05:52.963 回答