如何使用我自己的数据源获取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