使用Swift中的selectedIndexSet从Cocoa NSOutlineView获取多个项目
当我需要从NSOutlineView获取所选项目时,我可以使用以下方法:使用Swift中的selectedIndexSet从Cocoa NSOutlineView获取多个项目,swift,xcode,cocoa,nsoutlineview,Swift,Xcode,Cocoa,Nsoutlineview,当我需要从NSOutlineView获取所选项目时,我可以使用以下方法: func item(atRow row: Int) -> Any? 但是,当使用多个选项时,如何获得项目列表? 我可以用 var selectedRowIndexes: IndexSet { get } 获取索引集,但是否有一种实现的方法来获取所选项目的数组 感谢您的建议将行映射到项目,compactMap安全地打开选项 let selectedItems = outlineView.selectedRowInd
func item(atRow row: Int) -> Any?
但是,当使用多个选项时,如何获得项目列表?
我可以用
var selectedRowIndexes: IndexSet { get }
获取索引集,但是否有一种实现的方法来获取所选项目的数组
感谢您的建议
将行映射到项目,compactMap
安全地打开选项
let selectedItems = outlineView.selectedRowIndexes.compactMap{outlineView.item(atRow: $0)}
outlineView
是对NSOutlineView
结果是一个Any
数组。您可以在闭包中或在行的末尾强制转换类型