【问题标题】:Swift & NSTableView - Simply select a rowSwift & NSTableView - 只需选择一行
【发布时间】:2014-08-12 19:35:43
【问题描述】:

我想以编程方式在我的 NSTableView 中选择一行,只有一列。

func selectColumnIndexes(_ indexes: NSIndexSet!,
    byExtendingSelection extend: Bool)

我一直在玩这个,但我不知道如何写“选择第 2 行”。
我是否必须从连接到我的表视图的@IBOutlet 的变量开始?我必须以某种方式表明它是关于我的 NSTableView 的。

谢谢!

【问题讨论】:

    标签: xcode select swift row nstableview


    【解决方案1】:

    @Isaiah 在 Swift 3.0 中的回答:

    .selectRowIndexes(NSIndexSet(index: 0) as IndexSet, byExtendingSelection: false)
    

    【讨论】:

      【解决方案2】:

      好的,我知道了。原来是

      @IBOutlet weak var NoteTableView: NSTableView!
      NoteTableView.selectRowIndexes(NSIndexSet(index: 0), byExtendingSelection: false)
      

      我不太清楚NSIndexSet 的部分。我一直在摆弄init(),结果证明这是不必要的。

      【讨论】:

        【解决方案3】:

        Swift 4 解决方案

        我创建了一个扩展程序,以便更轻松地执行此操作。此外,如果您在表格视图单元格上实现了单击操作,这也会调用它

        extension NSTableView {
            func selectRow(at index: Int) {
                selectRowIndexes(.init(integer: index), byExtendingSelection: false)
                if let action = action {
                    perform(action)
                }
            }
        }
        
        /// USAGE:
        NSTableView().selectRow(at: 0)
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-01-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多