Objective c 我是否应该在类实现中直接访问IVAR?

Objective c 我是否应该在类实现中直接访问IVAR?,objective-c,properties,instance-variables,accessor,Objective C,Properties,Instance Variables,Accessor,我在这一点上犹豫了一段时间,但我想知道人们对直接从Objective-C类实现中访问实例变量的看法 使用accessor和mutator可以简化很多事情,但是对于简单的事情,直接访问实例变量是否不好?私有实例变量的最佳实践是否不同?如果始终使用访问器方法,则可以确保正确处理内存管理,尤其是在综合这些方法的情况下。也就是说,如果我们谈论的是访问基本类型的IVAR,那么在实例方法的实现中直接使用它们并没有什么坏处。很抱歉,但我不同意总是在类中使用属性来访问IVAR 通常,如果: 1.您的属性不是原子

我在这一点上犹豫了一段时间,但我想知道人们对直接从Objective-C类实现中访问实例变量的看法


使用accessor和mutator可以简化很多事情,但是对于简单的事情,直接访问实例变量是否不好?私有实例变量的最佳实践是否不同?

如果始终使用访问器方法,则可以确保正确处理内存管理,尤其是在综合这些方法的情况下。也就是说,如果我们谈论的是访问基本类型的IVAR,那么在实例方法的实现中直接使用它们并没有什么坏处。

很抱歉,但我不同意总是在类中使用属性来访问IVAR

通常,如果: 1.您的属性不是原子的,并且 2.你的属性没有复杂的逻辑(也就是说,你只有一个合成属性),那么就没有必要使用属性。直接使用ivar即可


如果属性是原子的,那么显然必须同时使用getter和setter。但是,始终使用setter非常方便…

我不同意始终使用属性。请看我的答案。谢谢你的贡献!过去几年我一直倾向于你的观点。尤其是圆弧。