Isa*_*iah 5 xcode select row nstableview swift
我想以编程方式在我的NSTableView中选择一行,只有一列.
func selectColumnIndexes(_ indexes: NSIndexSet!,
byExtendingSelection extend: Bool)
Run Code Online (Sandbox Code Playgroud)
我一直在玩这个,但我不知道如何写"选择行#2".
我必须从连接到@IBOutlet表视图的变量开始吗?我必须以某种方式表明它与我的NSTableView有关.
谢谢!
@Isaiah在Swift 3.0中的回答:
.selectRowIndexes(NSIndexSet(index: 0) as IndexSet, byExtendingSelection: false)
Run Code Online (Sandbox Code Playgroud)
好的,我知道了.原来是
@IBOutlet weak var NoteTableView: NSTableView!
NoteTableView.selectRowIndexes(NSIndexSet(index: 0), byExtendingSelection: false)
Run Code Online (Sandbox Code Playgroud)
我无法弄明白这一部分NSIndexSet.我正在摆弄init(),结果证明是不必要的.
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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4672 次 |
| 最近记录: |