0

我注意到,当我在 Objective C 中为属性创建自定义 getter/setter 时,至少在我的类中的某个地方,我经常忘记使用self.variableName来访问我的属性,而是直接使用 just 访问它variableName,这违背了目的的 getter 和 setter (并且可能会导致稍后可能难以追踪的错误)。

现在,这个问题的明显解决方案是“停止忘记包含self.

但是,有没有办法删除对实例变量的直接访问(可能是在声明属性时?)以避免意外不使用 getter 和 setter?

不要误会我的意思,有时能够直接访问实例变量并避免使用 getter 和 setter 很好,但有时当我编写自定义 getter 和 setter 时,每次都使用这些 getter 和 setter 很重要不要忘记。

同样,显而易见的答案就是记住使用self.,但特别是如果其他人正在拿起我的代码并对其进行处理,在某些情况下完全删除对实例变量的访问将是有益的。

4

1 回答 1

3

使用以 . 为前缀的实例变量_。这是 Apple 推荐的,这是默认的综合属性和发明实例变量功能所做的,并且_在您使用它们时会突出显示。在您自己的实现中不可能删除对您自己的实例变量的访问。

于 2012-09-10T18:05:16.247 回答