如何使用我自己的數據源獲取NSOutlineView的選定項目。 我看到我可以得到selectedRow,但它返回一個相對於大綱狀態的行ID。唯一的辦法是跟蹤項目的展開狀態,但這看起來很荒謬。如何在不使用NSTreeController的情況下獲取NSOutlineView的選定項目?
我希望這樣的事情:
array = [outlineViewOutlet selectedItems];
我看着其他類似的問題,他們不似乎回答這個問題。從NSTableView
如何使用我自己的數據源獲取NSOutlineView的選定項目。 我看到我可以得到selectedRow,但它返回一個相對於大綱狀態的行ID。唯一的辦法是跟蹤項目的展開狀態,但這看起來很荒謬。如何在不使用NSTreeController的情況下獲取NSOutlineView的選定項目?
我希望這樣的事情:
array = [outlineViewOutlet selectedItems];
我看着其他類似的問題,他們不似乎回答這個問題。從NSTableView
@戴夫德龍:優秀的答案,這裏是翻譯雨燕3.0
@objc private func onItemClicked() {
if let item = outlineView.item(atRow: outlineView.clickedRow) as? FileSystemItem {
print("selected item url: \(item.fileURL)")
}
}
顯示的是一其中項目來自具有屬性fileURL的FileSystemItem類。
如果有人在這個問題上磕磕絆絆,並試圖爲swift找到答案,這是下面代碼的一個端口。 'println(MainOutlineList.itemAtRow(MainOutlineList.selectedRow))' – nsij22 2015-04-28 20:30:39