【发布时间】:2010-12-28 08:28:16
【问题描述】:
我在这个问题上犹豫了一段时间,但我想知道人们对直接从 Objective-C 类实现中访问实例变量有何看法?
使用访问器和修改器让很多事情变得简单,但是对于简单的事情,直接访问实例变量是不是很糟糕?私有实例变量的最佳实践是否不同?
【问题讨论】:
标签: objective-c properties instance-variables accessor
我在这个问题上犹豫了一段时间,但我想知道人们对直接从 Objective-C 类实现中访问实例变量有何看法?
使用访问器和修改器让很多事情变得简单,但是对于简单的事情,直接访问实例变量是不是很糟糕?私有实例变量的最佳实践是否不同?
【问题讨论】:
标签: objective-c properties instance-variables accessor
很抱歉,我不同意总是在类中使用属性来访问 ivars。
通常如果: 1.您的财产不是原子的,并且 2.你的属性没有复杂的逻辑(也就是你只有一个综合属性)——那么就没有必要使用属性了。直接使用 ivar 即可。
如果您的属性是原子的,那么显然您必须同时使用 getter 和 setter。但是,始终使用 setter 非常方便...
【讨论】:
如果您始终使用访问器方法,则可以确保正确处理内存管理,尤其是在综合这些方法时。话虽如此,如果我们谈论的是访问原始类型的 ivars,那么在实例方法的实现中直接使用它们并没有什么坏处。
【讨论】: