在Objective-C中不使用Properties的情况

Ian*_*Ray 6 properties objective-c instance-variables

在使用Objective-C编程下的苹果OS X 10.8核心库文档中,它指出,

"这是使用属性的对象上,你需要跟踪的值或其他物体的任何时间的最佳做法.如果你需要定义自己的实例变量不宣的属性,您可以添加它们内部的顶部牙套类接口或实现......"

所以我很好奇,那么你需要在不声明属性的情况下定义实例变量的情况呢?除了苹果所说的,它真的只是个人偏好吗?

谢谢!

das*_*ght 2

其中一些肯定是一个偏好问题,但不是全部:您最好为具有外部可见性的项目以及需要在班级内部和外部进行不同访问控制的项目提供属性。自从引入 ARC 以来,这个问题就不太明显了,因为在此之前,您可能希望使用属性来自动调用保留和释放。当您需要自动将对象复制到属性中时,属性这方面的重要性已大大降低。