如何将NSArrayController的内容绑定到有序多对多关系中的实体?
我的Core Data模型中有一个无序的to-many关系,以及一个NSArrayController,其内容集与父实体的关系绑定.这很好用,可以从NSArrayController访问数据,没问题.
我在开发期间决定允许用户手动重新排序这些子对象,因此我将关系更改为有序关系.现在,当我的笔尖创建我的NSArrayController时,会出现以下错误:
Cannot create NSSet from object Relationship '...' fault on managed object ... of class _NSFaultingMutableOrderedSet
Run Code Online (Sandbox Code Playgroud)
实际上,我认为这一切都是有道理的:这是一个有序的关系,所以现在我得到一个有序的集合.将它绑定到Content Array也是不合适的,因为它现在是NSOrderedSet,而不是数组.我的问题是:现在如何将此关系的数据绑定回NSArrayController?
我希望我的 Xcode 项目能够完成“构建和分析”步骤,而不会生成任何错误、警告或静态分析消息。一个问题是我的项目包含生成(可能无害的)警告和静态分析消息的库。
我找不到一种方法来禁用特定的 Clang 警告,以便“我的”代码构建为零问题。这可能吗?
我在这里有一个非常简单的设置,Xcode给了我一个没有评论的红色"!" 在界面构建器中标记.
从基于核心数据的文档模板开始.文档xib有一个NSObjectController实例,其托管对象上下文绑定到文件的所有者(我的NSPersistentDocument子类).存在NSTextField,其值我想绑定到NSObjectController ......这就是问题所在.
我为"模型键路径"键入"title",因为这是我的NSManagedObject的正确属性,它应出现在文本字段中.当我点击空的Controller Key字段时,autocompletion奇怪地建议仅用于NSArrayController的字段:

每当我尝试输入"content"作为Controller Key(因为这是NSObjectController的正确属性)然后点击Tab/Return/what时,"content"会向下移动到Model Key Path,如下所示:

这个红色感叹号是什么?当我将"Controller Key"留空并且"Model Key Path"作为content.title时,应用程序正常工作.绑定是正确的,并反映了我的NSManagedObject的"title"属性.我绝对相信"对象控制器"是NSObjectController的一个实例.