将 NSTreeController 与 MagicalRecord 绑定

Posted

技术标签:

【中文标题】将 NSTreeController 与 MagicalRecord 绑定【英文标题】:Binding an NSTreeController with MagicalRecord 【发布时间】:2012-08-04 13:31:57 【问题描述】:

我正在尝试在 OSX 应用程序中使用 MagicalRecord。我有一个具有以下层次结构的 NSOutlineView:

组 - 客户 -- 项目

第一次运行应用程序时会自动创建一个组。 一切都是通过绑定设置的,并且基本上可以正常工作。我唯一的问题是,在没有数据的情况下首次运行应用程序时,我会看到自动创建的组,但组内新创建的客户只会在我关闭并重新启动应用程序时出现。从那时起,一切正常。

不知何故,NSTreeController 不会收到有关关系更改的通知。我尝试使用 tableviews 显示关系,所有内容都显示在这里。

是否有任何示例代码显示如何将 MagicalRecord 与 NSTreeController / NSOutlineView 一起使用?

【问题讨论】:

【参考方案1】:

我似乎已经解决了这个问题。插入的客户没有出现的原因与大纲视图的委托有关。删除我的 -outlineView:isGroupItem 实现后;物品突然出现在树上。

它仍然不完美,因为组项不会自动扩展,并且用户看不到其中是否包含子项(我隐藏了组的显示三角形)。但作为一种解决方法,我立即在 NSTreeController 中选择新插入的项目,它会扩展任何父组。

【讨论】:

以上是关于将 NSTreeController 与 MagicalRecord 绑定的主要内容,如果未能解决你的问题,请参考以下文章

将非模型节点添加到 NSTreeController

如何将 NSTreeController 的孩子绑定到订购到多关系的核心数据?

Magi-人工智能搜索引擎会自我学习的搜索引擎

具有两个不同核心数据 NSManagedObject 实体的 NSTreeController

检索所有 NSTreeController 的对象

NSTreeController/NSOutlineView 失去选择