ios – 为什么实例变量被苹果视为坏习惯?

在Objective-C的Apple编程中,Encapsulating Data的部分规定:

You Can Define Instance Variables without Properties

It’s best practice to use a property on an object any time you need to keep track of a value or another object.

换句话说,他们强烈建议您使用私有属性而不是任何私有对象状态的实例变量.

我想知道为什么会这样呢?我知道属性具有KVO和属性(强,弱等)的功能,但在许多情况下,我不需要这些功能,实例变量将正常工作.

有没有什么好的理由为什么实例变量可能不被认为是最佳实践?

解决方法

即使现在您的私有变量可能作为一个简单的变量,您可以稍后决定一些属性的好东西是有用的:

观察
原子访问器
>自定义访问器
>登录访问
>从子类访问

如果您只将变量作为属性访问,则不会增加太多开销(除了紧密循环),并为获得上述任何优点留出空间.

基本上,属性是有用的,即使你不打算让他们公开.

当然,有一些使用实例变量仍然是“更自然”的地方,例如,如果您在类集群(例如NSArray)中重新实现了基础类,那么预计您的实现是私有的,而且不会执行然后使用属性.

此外,我不认为你应该读取太多的建议.对我来说,它更像是“如果你只在5分钟前学到关于属性和实例变量的知识,那就先从使用属性开始吧”.

对于语言新手的人,不用了解实例变量就可以走得更远.

以上是来客网为你收集整理的ios – 为什么实例变量被苹果视为坏习惯?全部内容,希望文章能够帮你解决ios – 为什么实例变量被苹果视为坏习惯?所遇到的程序开发问题。

如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。