NSSet可以用set.allObjects()转换成Array,但在新的Set中没有这种方法(Swift 1.2引入).它仍然可以通过将Swift集合转换为NSSet并使用allObjects()方法来实现,但这不是最优的.

推荐答案

您可以创建一个数组,其中包含给定Swift中的所有元素

let array = Array(someSet)

这是因为Set符合SequenceType协议

let mySet = Set(["a", "b", "a"])  // Set<String>
let myArray = Array(mySet)        // Array<String>
print(myArray) // [b, a]

Swift相关问答推荐

Swift Tree实现中的弱var

为SwiftUI文本视图提供固定宽度,并仅在文本换行时使文本视图底部增大

RxSwift .debounce,.throttle用于分页

SwiftData/PersistentModel.swft:540:致命错误:不支持的关系密钥路径ReferenceWritableKeyPath

使用序列初始化字符串的时间复杂度是多少?

暂停我的 AR 会话并清除变量和锚点的功能

UIBezierPath() 和 DragGesture:连接点创建角而不是曲线

如何使用 Swift 在非本地函数中切换()一个 Bool?

如何在 Swift 中做类型安全的索引?

带有可选字符串作为键路径的 SwiftUI iOS16 表

当字符串包含 \r\n 时,NSRegularExpression 不起作用

格式化大货币数字

为什么 SwiftUI 不在工具栏菜单中反映 @State 属性值?

如何更改 Picker 的边框 colored颜色

使用协议捕获 SwiftUI 视图

.onTapGesture 不适用于 Stepper,仅适用于其文本

Swift 2 或 3 中的 Google Analytics 问题

Swift - 导入我的 swift 类

Swift if 语句 - 多个条件用逗号分隔?

在 Swift 中为 UIPickerView 设置默认值?