我一直在与另一位远程工作的开发人员合作开发代码。到目前为止,他们的代码已经充满了错误并且很难组合......在进一步检查他们的一些代码时,我遇到了一些我没见过的人(当然我不是iOS专家,每天都能找到新东西。)
在他们声明的其中一个属性中,它被写为
@property (nonatomic, strong, getter = thenewPasswordActivity) IBOutlet UIActivityIndicatorView * newPasswordActivity;
我能够发现它们正在覆盖this post中的自定义getter方法,但是为什么因为没有一次" thenewPasswordActivity"而感到难过。使用
所以这就是说,我的主要问题是定义这样的自定义getter方法的总体收益是多少。这个自定义getter是否允许访问该属性而不使用 self.newPasswordActivity (无需合成),而只是引用 thenewPasswordActivity ?
答案 0 :(得分:2)
这实际上是有道理的。来自Transitioning to ARC Release Notes:
您无法为访问者提供以
new
开头的名称。这反过来 意味着你不能,例如,声明一个名字的属性 除非您指定不同的getter,否则以new开头:
// Won't work:
@property NSString *newTitle;
// Works:
@property(getter=theNewTitle) NSString *newTitle;
当然,您可以重命名该属性并选择其他名称 这不是以“新”开始......