Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 核心数据不再在关系更改时触发绑定_Xcode_Macos_Core Data_Xcode7 - Fatal编程技术网

Xcode 核心数据不再在关系更改时触发绑定

Xcode 核心数据不再在关系更改时触发绑定,xcode,macos,core-data,xcode7,Xcode,Macos,Core Data,Xcode7,我将MVVM用于许多复杂视图,其中我将一个核心数据模型对象绑定到一个视图模型,该视图模型又绑定到我的视图。例如,Model.children绑定到ViewModel.children,ViewModel.children绑定到View.presentedChildren 直到最近,这还很有效。从Model.children中删除子对象时,所有绑定将按预期触发,视图将更新以反映模型对象的当前状态。但是,由于升级到Xcode 7,绑定不会触发。它们在初始设置绑定时按预期工作,但是如果修改了子关系,则

我将MVVM用于许多复杂视图,其中我将一个核心数据模型对象绑定到一个视图模型,该视图模型又绑定到我的视图。例如,Model.children绑定到ViewModel.children,ViewModel.children绑定到View.presentedChildren

直到最近,这还很有效。从Model.children中删除子对象时,所有绑定将按预期触发,视图将更新以反映模型对象的当前状态。但是,由于升级到Xcode 7,绑定不会触发。它们在初始设置绑定时按预期工作,但是如果修改了子关系,则绑定永远不会触发

添加到模型对象的子对象关系中的KV observer不会触发

我显然错过了一些东西。任何提示都将不胜感激

仅供参考,根据10.11进行编译,但在10.10中运行

[更新]

我用addObserver:替换了关系上的bind:调用,并实现了observeValueForKeyPath:如下所示:

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context
{
    [self setValue: [object valueForKey: keyPath]
            forKey: keyPath];
}
-(void)observeValueForKeyPath:(NSString*)对象的键路径:(id)对象更改:(NSDictionary*)更改上下文:(void*)上下文
{
[自设置值:[对象值forkey:keyPath]
福克斯:关键路径];
}

这是可行的,但并不能解释bind的实现中发生了什么变化:对于NSObject或NSManagedObject。

我在我的应用程序的这一领域也采用了反应式Cocoa绑定,一切又恢复了正常