使用点语法作为getter是错误的吗?

phi*_*phi 5 iphone objective-c getter-setter ios

我知道的.是setter的快捷方式.有时,我使用那种代码:

cell.textLabel.text = [NSString stringWithFormat:@"this is row %i", indexPath.row];
Run Code Online (Sandbox Code Playgroud)

这可以按预期工作,但我想知道,写它是否更好(或者更正确?)

cell.textLabel.text = [NSString stringWithFormat:@"this is row %i", [indexPath row]];
Run Code Online (Sandbox Code Playgroud)

或者,换句话说,我应该只使用带有=运算符的点语法

aTextField.text = @"whatever";
Run Code Online (Sandbox Code Playgroud)

欢迎任何链接/文档,谢谢:)

PS.如果您没有看到标签,我在这里谈论iOS.

tas*_*oor 6

点(.)不仅是setter的快捷方式,也是getter的快捷方式.你也可以使用dot作为getter.没有问题,这也不是坏习惯.从Obj-C 2.0编程指南,"您可以使用点语法来调用访问器方法,使用与访问结构元素相同的模式.点语法纯粹是"语法糖".注意,它是关于访问器方法,而不仅是setter.