6
我的NSObject的子类有70个性质,我需要观察在所有这些变化不会增加使用下面的每个属性一个接一个:如何NSObject的性质观察变化
[self addObserver: self
forKeyPath: @"propertyname"
options: NSKeyValueObservingOptionNew
context: NULL];
。请让我知道最简单的方法来做到这一点。现在,我需要10.5和更高版本的解决方案。
感谢您的宝贵答案。我的类属性直接绑定到XIB中的几个UI控件。我需要允许用户检测当前UI控件中的更改,并通知用户保存更改,如果他们关闭Main XIB而不保存当前值。我会尽力按照您提及的方式执行,并会告诉我这是否适合我。 – AmitSri 2011-06-15 09:00:35
鉴于这个用例,我真的希望有一个更好的方法来做到这一点。我一直在阅读NSObjectController以防万一你想要什么,但是我不能找到你没有使用Core Data的情况的很多信息。我没有尝试过,但它看起来像一个想法:做一个NSObjectController子类,在IB中实例化,并将其内容对象设置为您的NSObject。将所有UI绑定到NSObjectController,并使用相同的键。然后,在代码中,重写控制器子类上的'objectDidEndEditing:',并且在任何类应该保存的地方调用一个方法。 – 2011-06-15 09:41:09
感谢您的建议,我会看看我是否可以按照您的建议改变我的实施。目前,我已经按照你的建议实现了keyPathsForValuesAffectingValueForKey,它现在似乎适用于我。 – AmitSri 2011-06-16 04:43:23