У меня есть NSTableView
с одним столбцом. Я хотел бы напечатать номер строки строки, на которую щелкнул пользователь. Я не уверен, с чего мне начать с этого. Есть ли способ для этого?
Распечатайте номер строки NSTableView строки, по которой щелкнул пользователь
Ответы (2)
Вы можете использовать свойство selectedRowIndexes
из tableView в методе tableViewSelectionDidChange
в делегате NSTableView.
В этом примере tableView допускает множественный выбор.
Свифт 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)
}
person
Eric Aya
schedule
22.03.2015
Используйте 1_
Затем вы можете использовать эти индексы для получения данных из вашего dataSource
(обычно это массив)
person
A O
schedule
22.03.2015