使用 Swift 中的 selectedIndexSet 从 Cocoa NSOutlineView 获取多个项目

Get multiple items from Cocoa NSOutlineView using selectedIndexSet in Swift

当我需要从 NSOutlineView 中获取选定的项目时,我可以使用这个:

func item(atRow row: Int) -> Any?

但是如何在使用多选时获取项目列表? 我可以使用

var selectedRowIndexes: IndexSet { get }

获取 IndexSet 但没有实现的方法来获取所选项目的数组?

感谢您的建议

Map 项目的行,compactMap 安全地解包选项。

let selectedItems = outlineView.selectedRowIndexes.compactMap{outlineView.item(atRow: [=10=])}

outlineView 是对 NSOutlineView

的引用

结果是Any的数组。您可以在闭包或行尾转换类型。