我看到许多keypath被指定为self.someProperty而不仅仅是someProperty.这样做有好处吗?这两个密钥路径是否相同?
编辑:我在谈论keypath字符串,例如用于绑定,发送到observeValueForKeyPath:或从keyPathsForValuesAffectingValueForKey返回:
最佳答案 你的意思是valueForKey:/ setValue:forKey:或者直接根据以下差异:
var = 8;
self.var = 8;
假设后者,区别在于前者直接存储值C风格,而后者则调用setter(或getter,具体取决于上下文).
调用该方法基本上没有什么可以解决该问题,但具有以下优点:
>该物业符合关键价值观;和
>您可以添加您想要的任何其他处理逻辑.但更重要的是:子类也是如此,因此您的类在大型项目中成为更好的公民.
编辑:如果前者,那么,没有,没有行为优势,但我想在自己身上使用键值编码是一件非常不寻常的事情,这样做有什么好处让它看起来不寻常?