我有一个带有 2 个实体的简单 cocoa 应用程序。它们之间具有一对一的关系。
在我唯一的窗口中,我有 2 个 NSTableView,一个显示客户,另一个显示他的地址。如果我以一对多的方式更改两个实体之间的关系,那么我的应用程序中的所有内容都可以正常工作(添加、编辑、删除)。
但是,如果我将两个实体之间的关系一对一更改,我可以插入客户,但是当我尝试在第二个 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] (
我不会发布该应用程序的任何代码,因为我没有编写代码。这一切都是通过绑定(bind)完成的。
任何帮助将不胜感激。
最佳答案
您的绑定(bind)不正确。从错误消息中可以看出,您正在向 NSSet 询问其 ManagedObjectContext。 NSSet 没有托管对象上下文。
所以,看看你的绑定(bind)。其中一个可能绑定(bind)到表示关系的属性,因为这将是 NSSet 的实例。您的绑定(bind)可能会要求 MOC。
关于使用一对一关系时, cocoa 核心数据应用程序在插入时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33028251/