我找不到类似的问题,所以我决定问它(这可能更适合在程序员身上问,如果是这样,我提前道歉)。
将点表示法与消息调用一起使用是不好的做法,如下所示:
[self.view addSubView:otherView];
相对于:
[[self view] addSubView:otherView];
我只是好奇,它看起来有点奇怪,但我看不出有什么问题。我对 Objective-C 还比较陌生,还不熟悉任何值得注意的最佳实践。
我找不到类似的问题,所以我决定问它(这可能更适合在程序员身上问,如果是这样,我提前道歉)。
将点表示法与消息调用一起使用是不好的做法,如下所示:
[self.view addSubView:otherView];
相对于:
[[self view] addSubView:otherView];
我只是好奇,它看起来有点奇怪,但我看不出有什么问题。我对 Objective-C 还比较陌生,还不熟悉任何值得注意的最佳实践。
它没有任何问题。这只是一个风格问题。使用您喜欢的任何一个。(顺便说一下,点符号的优点是,如果您使用点符号调用未声明的属性 getter 或 setter,编译器会抛出错误,因此您可以在编译时消除一些奇怪的运行时错误.)
这根本不是一个坏习惯。但这只是一个约定。
任何你感觉好的东西都可以使用。
任何使您的代码可读的东西,您都应该使用它。
像 :
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]
简单地说,使用点符号来获取和设置对象的状态。这意味着,您应该对属性对象使用点表示法。正如你所做的一切都很好。另一方面,括号表示法用于调用对象的行为,例如
[self createSubviewWithFrame:_frame];