iOS在属性变量声明中覆盖自定义getter / setter

时间:2014-07-07 17:11:47

标签: ios override getter-setter

我一直在与另一位远程工作的开发人员合作开发代码。到目前为止,他们的代码已经充满了错误并且很难组合......在进一步检查他们的一些代码时,我遇到了一些我没见过的人(当然我不是iOS专家,每天都能找到新东西。)

在他们声明的其中一个属性中,它被写为

@property (nonatomic, strong, getter = thenewPasswordActivity) IBOutlet UIActivityIndicatorView * newPasswordActivity;

我能够发现它们正在覆盖this post中的自定义getter方法,但是为什么因为没有一次" thenewPasswordActivity"而感到难过。使用

所以这就是说,我的主要问题是定义这样的自定义getter方法的总体收益是多少。这个自定义getter是否允许访问该属性而不使用 self.newPasswordActivity (无需合成),而只是引用 thenewPasswordActivity

1 个答案:

答案 0 :(得分:2)

这实际上是有道理的。来自Transitioning to ARC Release Notes

  

您无法为访问者提供以new开头的名称。这反过来   意味着你不能,例如,声明一个名字的属性   除非您指定不同的getter,否则以new开头:

     

// Won't work:
  @property NSString *newTitle;
   // Works:
  @property(getter=theNewTitle) NSString *newTitle;

当然,您可以重命名该属性并选择其他名称 这不是以“新”开始......