NSArrayController选择不使用NSTableView绑定进行更新

时间:2014-03-26 01:41:36

标签: objective-c macos cocoa cocoa-bindings nsarraycontroller

这让我困惑了几个小时......

我有一个带有属性(NSMutableArray *cuesArray)的对象(CuesDoc)和一些其他属性。 cues数组包含多个Cue个对象。我的(CuesDoc*) currentCuesDoc中有一个名为AppDelegate的媒体资源。

在IB中,我有一个NSArrayController,它绑定到AppDelegate.currentCuesDoc.cuesArray

我有一个绑定到NSTableView的{​​{1}},可以在表和cuesArray中添加/删除/编辑值。到目前为止一切都很好。

下面有详细信息字段,这些字段绑定到NSArrayController,并为每个属性设置了模型关键路径。

当视图首次出现时,详细信息字段将填充表视图中第一个项目的内容,但是当我选择其他行时,详细信息字段不会更新以反映当前选择。

我为NSArrayController.selection添加了selectionIndexesselection的观察者,当视图出现时,我会调用NSArrayController方法一次,但不会在更改后选择。

1 个答案:

答案 0 :(得分:17)

必须将tableView的选择索引绑定到selectionIndexes的数组控制器键,以使视图的选择与控制器的选择保持同步。选择绑定与内容绑定分开。