2015-09-27 53 views
0

我正在使用MVVM處理大量複雜視圖,其中將核心數據模型對象綁定到視圖模型,視圖模型又綁定到我的視圖。例如,Model.children綁定到ViewModel.children,ViewModel.children綁定到View.presentedChildren。核心數據不再對關係的更改發出綁定

直到最近這工作很好。當從Model.children中刪除一個孩子時,所有的綁定按照預期向下開始行,並且視圖更新以反映模型對象的當前狀態。但是,升級到Xcode 7後,綁定不會觸發。它們在初始設置綁定時按預期工作,但如果修改了子關係,則綁定永遠不會觸發。

添加到模型對象的子關係中的KV觀察者確實觸發了。

我很明顯失去了一些東西。任何提示將不勝感激。

僅供參考對10.11編譯但在10.10中運行。

[更新]

我把它換成綁定:實施observeValueForKeyPath:上的addObserver的關係電話如下:

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context 
{ 
    [self setValue: [object valueForKey: keyPath] 
      forKey: keyPath]; 
} 

這工作,但並不能說明什麼都有在執行bind:NSObject或NSManagedObject時更改。

回答

0

嗯,我已經爲我的應用程序的這個區域採用了Reactive Cocoa綁定,並且事情再次運行。