为什么iOS SDK教程中的所有属性都是?

Per*_*ddo 2 iphone scope instance-variables private-members ios

在大多数iOS SDK教程中,我都是从Apple和其他地方在线阅读的,因此很多实例变量都是属性,即使它们只能在自己的类中访问.

在Facebook的最新iOS SDK中,我们鼓励用户维护facebook在app delegate中调用的Facebook类的实例.facebook"是一个属性.然后在整个示例代码中将其称为"self.facebook".但是,"facebook"属性不会从应用程序委托之外的任何地方引用.

为什么是这样?我错过了什么?如果一个实例变量只在它自己的类中使用,那么我的倾向是使它成为一个属性,因此它不是公开可见的,而是简单地将它称为facebook而不是self.facebookself->facebook从类中.

坦率地说,即使我需要facebook属性,我想我宁愿在app委托中将其称为"facebook"而不是"self.facebook".

什么给出了什么?为什么我到处都看到房产?

Tec*_*Zen 7

属性与iVar是否公开暴露无关.相反,属性创建访问器方法来管理保留和促进封装.

如果您想要私有属性,只需在@private指令下声明ivar ,然后在实现文件中定义属性.