以编程方式在NSTableView中选择一行

Jos*_*hua 28 cocoa objective-c nstableview

我想以编程方式在我的表视图中选择一行,我相信我会使用selectRowIndexes:byExtendingSelection:(这是一个委托方法吗?).另一件事是我如何使用该方法选择第二行(在编程术语第1行)?

Bra*_*oss 87

Joshua,确保使用开发人员文档来确定它是否是委托方法.如果它是委托方法,则会在NSTableViewDelegate的文档中提及.

您正在寻找的是非常直接的.

Objective-C的

NSIndexSet *indexSet = [NSIndexSet indexSetWithIndex:1];
[tableview selectRowIndexes:indexSet byExtendingSelection:NO];
Run Code Online (Sandbox Code Playgroud)

斯威夫特2

let indexSet = NSIndexSet(index: 1)
tableView.selectRowIndexes(indexSet, byExtendingSelection: false)
Run Code Online (Sandbox Code Playgroud)

再次.确保在文档中查找方法selectRowIndexes:byExtendingSelection以查看它需要的参数.它说需要一个NSIndexSet.然后查找NSIndexSet,您将发现如何使用它.

  • 这应该仍然有效.确保您的插座已连接,并确保在视图初始化后调用此方法.因此,不要在"init"方法中调用它,使用 - (void)awakeFromNib. (2认同)
  • 现在使用:`IndexSet(integer: 1)` (2认同)