使用一对一关系时,cocoa核心数据应用程序在插入时崩溃

时间:2015-10-09 00:54:10

标签: cocoa core-data cocoa-bindings

我有2个实体的简单可可应用程序。他们之间有一对一的关系。

在我唯一的窗口中,我有2个NSTableViews,一个显示客户,另一个显示他的地址。如果我在一对多中更改两个实体之间的关系,那么我的应用程序中的所有内容都可以正常工作(添加,编辑,删除)。

但是,如果我一对一更改2个实体之间的关系,我可以插入客户,但是当我尝试在第二个NSTableView(地址)应用程序中插入记录时崩溃并出现以下错误:

2015-10-09 03:50:28.357 TwoEntitiesRecord [1793:56879] - [__ NSSetM managedObjectContext]:无法识别的选择器发送到实例0x608000040f90 2015-10-09 03:50:28.357 TwoEntitiesRecord [1793:56879] - [__ NSSetM managedObjectContext]:无法识别的选择器发送到实例0x608000040f90 2015-10-09 03:50:28.361 TwoEntitiesRecord [1793:56879](

我没有为应用发布任何代码,因为我没有写一个。这一切都是通过约束完成的。

任何帮助都将深受赞赏。

2 个答案:

答案 0 :(得分:2)

您的绑定不正确。从错误消息中可以看出,您正在向NSSet询问其managedObjectContext。 NSSet没有托管对象上下文。

所以,看看你的绑定。其中一个可能绑定到表示关系的属性,因为它将是NSSet的一个实例。您的绑定可能是要求MOC。

答案 1 :(得分:0)

以防有人遇到同样的问题:在我的一个阵列控制器中,一个是地址,在阵列控制器属性检查器中我取消选中了自动重新排列内容复选框。

老实说我不知道​​为什么在我选中这个复选框之后突然停止插入崩溃,但这是解决我问题的方法。