在 NSTableCellView 中聚焦一个字段以进行即时编辑

focus a field in a NSTableCellView for instant editing

我想以编程方式将焦点设置在 table 中的 NSTableCellView 中的两个编辑字段之一,其中一行中有一个列,以便用户可以立即编辑该字段。 在我的示例中,我可以 select 该行(按下按钮后),但我找不到将焦点设置在特殊字段上的方法。

在我的示例中,我想将光标设置在第 3 行的倾斜字段上。

class MainVC: NSViewController, NSTableViewDataSource, NSTableViewDelegate
{ var t = [Item]()
  @IBOutlet weak var itemTV: NSTableView!
  @IBAction func actionBu(_ sender: Any)
  { 
    let indexSet = IndexSet(integer: 2)
    itemTV.selectRowIndexes(indexSet, byExtendingSelection: false)
    itemTV.scrollRowToVisible(2)
  }

感谢所有帮助命令,我找到了解决方案

@IBAction func actionBu(_ sender: Any)
  { self.view.window!.makeFirstResponder(itemTV.view(atColumn: 0, row: 2, makeIfNecessary: true)?.subviews[0])
  }

对我来说很好,