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

App*_*ter 8 macos cocoa objective-c nsarraycontroller cocoa-bindings

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

我有一个对象(CuesDoc)具有属性(NSMutableArray *cuesArray)和一些其他属性.该cues数组包含多个Cue对象.(CuesDoc*) currentCuesDoc在我的房子里有一个叫做的房产AppDelegate.

在IB,我有一个NSArrayController,这是必然的AppDelegate.currentCuesDoc.cuesArray.

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

我有下面的详细信息字段,它们被绑定到NSArrayController.selection,每个属性都设置了模型密钥路径.

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

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

ste*_*iva 18

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

  • 答对了!那奏效了。出于某种原因,我不记得其他时候单独绑定选择。 (2认同)
  • 您不必为基于单元格的NSTableViews执行此操作,仅适用于基于视图的NSTableViews. (2认同)