2014-03-26 40 views
4

这已经令人迷惑我小时...NSArrayController的选择不与NSTableView的结合

更新我有一个对象(CuesDoc)与属性(NSMutableArray *cuesArray)和其他一些特性。 cues数组包含多个Cue对象。在我的AppDelegate中有一个名为(CuesDoc*) currentCuesDoc的房产。

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

我有一个NSTableView它绑定到NSArrayController,并且可以添加/删除/编辑表和cuesArray中的值。到现在为止还挺好。

我有下面的详细字段,它们绑定到NSArrayController.selection,模型键路径设置为每个属性。

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

我增加了一个观察员selectionIndexesselectionNSArrayController,并认为出现的时候,我得到呼吁observeValueForKeyPath:方法一次,但不改变选择后。

回答

15

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

+1

宾果!这工作。出于某种原因,我不记得其他时间单独绑定选择。 – AppCrafter

+2

您不必为基于单元格的NSTableViews执行此操作,仅适用于基于视图的NSTableViews。 – Dirk

+0

谢谢! (我有没有提到“谢谢”?) – matt

相关问题