Core data 主-详细应用程序,使用两个NStreeController、核心数据和绑定

Core data 主-详细应用程序,使用两个NStreeController、核心数据和绑定,core-data,nsoutlineview,nstreecontroller,Core Data,Nsoutlineview,Nstreecontroller,我在尝试使用Master(NSOutlineView+NSTreeController)和Detail(NSOutlineView+NSTreeController)设置执行Master Detail应用程序时遇到问题 下面是一个基于苹果抽象树示例应用程序的最简单应用程序 我基本上有一个使用树节点的左侧项目浏览器,和一个显示依赖于项目浏览器选择的细节树的右侧细节浏览器 我的设置很简单 主NSOutlineView绑定到主NSTreeController,并处理CoreData实体项目节点。 D

我在尝试使用Master(NSOutlineView+NSTreeController)和Detail(NSOutlineView+NSTreeController)设置执行Master Detail应用程序时遇到问题

下面是一个基于苹果抽象树示例应用程序的最简单应用程序

我基本上有一个使用树节点的左侧项目浏览器,和一个显示依赖于项目浏览器选择的细节树的右侧细节浏览器

我的设置很简单

主NSOutlineView绑定到主NSTreeController,并处理CoreData实体项目节点。 Detail NSOutlineView绑定到一个CoreData实体细节节点的Detail NStreeView

它们都是树

项目节点图元与详图节点有关系,允许项目树根据选择显示详图树

我遇到的问题是,当我将contentObject详细绑定到主NSTreeController选择时:

Detail NSTreeController contentObject绑定到主NSTreeController selection.detailNode

每次我在主目录树大纲视图中更改选择时,细节NSTreeController都会创建一个永不释放的NSTreeControllerTreeNodes

基本上,每次主控制器选择更改后,细节NStreeController都会创建一组新的NSTreeControllerTreeNode对象,这些对象永远不会被释放

查看仪器分配工具,每次更改选择时都会创建新节点。即使删除所有主节点后,仍会分配节点

我曾尝试准备一个NSViewController,在主控制器选择更改的情况下重新加载一个新的nib文件,但在我看来这是一个很大的开销

当contentObject绑定更改为另一个值时,有人知道如何处理创建的NSTreeControllerTreeNodes吗

谢谢