在我的应用程序,我观察到一个管理对象的属性。 的变化可导致在它的一些其它性质的调整,所以被管理的对象本身接收改变的属性的消息。 这些变化发生的通过被设置在界面生成器绑定。
我在管理对象的实现下面的方法:
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
if ( !processingChange )
{
processingChange = YES;
*** DO STUFF TO THIS MANAGED OBJECT'S PROPERTIES ***
[self.managedObjectContext processPendingChanges];
processingChange = NO;
return;
}
}
该processingChange
布尔目的是避免无限“通知循环”,但它不工作,我希望(加上它看起来像一个真正的肮脏的黑客)。
必须有另一种方式来做到这一点。 有什么建议么?