Objective c NSArrayController的奇怪行为

Objective c NSArrayController的奇怪行为,objective-c,cocoa,core-data,Objective C,Cocoa,Core Data,我有一个核心数据项目,其中NSTableView绑定到NSArrayController。我有两个按钮,一个是向表中添加对象,另一个是从表中删除对象。Add方法使用一个自定义方法,该方法直接创建一个新的核心数据对象。移除方法使用NSArrayController的标准移除方法 我的问题是,表的选定对象似乎与NSArrayController的选定对象不对应。如果我记录所选对象,它似乎是不同的,移除方法会按照创建对象的顺序移除对象,而不是移除所选对象 为了便于参考,该表和一些绑定如下所示: 表格

我有一个核心数据项目,其中NSTableView绑定到NSArrayController。我有两个按钮,一个是向表中添加对象,另一个是从表中删除对象。Add方法使用一个自定义方法,该方法直接创建一个新的核心数据对象。移除方法使用NSArrayController的标准移除方法

我的问题是,表的选定对象似乎与NSArrayController的选定对象不对应。如果我记录所选对象,它似乎是不同的,移除方法会按照创建对象的顺序移除对象,而不是移除所选对象

为了便于参考,该表和一些绑定如下所示:

表格

NSArrayController绑定

表中单元格的绑定

有人知道为什么会这样吗。这似乎是一个问题,有一个非常简单的答案,但我找不到它


正如我建议的那样,我已经尝试绑定选择索引,这是我通常不做的事情,但这似乎没有什么不同

您记得绑定选择索引吗?

所有列都绑定到同一个数组控制器吗?

我通常不这么做,但在这种情况下尝试过,似乎没有什么不同。