以下哪项是Objective-C的最佳实践?
UITableView* view = (UITableView*) [self view];
[view setSeparatorColor:[UIColor blackColor]];
[view release];
与。
((UITableView*) self.view).separatorColor = [UIColor blackColor];
还是有更好的写法? self.view
是一个UIView*
.
我问这两个原因是因为我有一个看起来很奇怪的演员阵容(也许有更好的方法?(,也因为官方文档中的以下文字,暗示这不仅仅是风格或个人喜好的问题:
另一个优点是,编译器在检测到尝试写入只读声明属性时可以发出错误信号。如果改为使用方括号语法来访问变量,则编译器(充其量(只会生成一个未声明的方法警告,警告您调用了不存在的 setter 方法,并且代码在运行时失败。
嗯....点符号最后编译到方括号,但这取决于个人喜好。我个人避免点表示法,除非我正在设置/访问标量类型,例如,查看以下内容太容易了......
view.step = 2.0;
。并且不知道 step 在哪里是标量属性,或者有一个 setter 方法等。我更喜欢明确,并且会使用...
[view setStep:2.0];
但我想又是个人喜好。
2 件事
-
你没有问这个问题,但是 - 我曾经喜欢一开始的那些"一行",但一段时间后,当你回到代码时,它的可读性就不那么好了。
-
这个点对我来说似乎更具可读性
我宁愿——
UITableView* view = (UITableView*)self.view;
view.setSeparatorColor=[UIColor blackColor];
但归根结底,这是你自己的喜好问题。
括号内强制转换,并使用以下语法为自己节省一两行:
[(UITableView*) self.view setSeparatorColor:[UIColor redColor]];