本文介绍了打印用户单击的行的NSTableView的行号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一列的NSTableView
.我想打印用户单击的行的行号.我不确定从哪里开始.有办法吗?
I have a NSTableView
with one column. I would like to print the row number of the row that the user has clicked on. I am not sure where I should start with this. Is there a method for this?
推荐答案
您可以在NSTableView委托的tableViewSelectionDidChange
方法中使用tableView中的selectedRowIndexes
属性.
You can use the selectedRowIndexes
property from the tableView in the tableViewSelectionDidChange
method in your NSTableView delegate.
在此示例中,tableView允许多项选择.
In this example, the tableView allows multiple selection.
快捷键3
func tableViewSelectionDidChange(_ notification: Notification) {
if let myTable = notification.object as? NSTableView {
// we create an [Int] array from the index set
let selected = myTable.selectedRowIndexes.map { Int($0) }
print(selected)
}
}
快捷键2
func tableViewSelectionDidChange(notification: NSNotification) {
var mySelectedRows = [Int]()
let myTableViewFromNotification = notification.object as! NSTableView
let indexes = myTableViewFromNotification.selectedRowIndexes
// we iterate over the indexes using `.indexGreaterThanIndex`
var index = indexes.firstIndex
while index != NSNotFound {
mySelectedRows.append(index)
index = indexes.indexGreaterThanIndex(index)
}
print(mySelectedRows)
}
这篇关于打印用户单击的行的NSTableView的行号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!