在SwiftUI 2.0中,我们可以使用ForEach
结构来遍历NSSet
。以下是一个包含代码示例的解决方法:
import SwiftUI
struct ContentView: View {
let set: NSSet = ["Apple", "Banana", "Orange"]
var body: some View {
List {
ForEach(set.sortedArray(using: [NSSortDescriptor(key: nil, ascending: true)]), id: \.self) { item in
Text(item as! String)
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
在上面的示例中,我们将NSSet
类型的集合set
定义为视图的属性。然后,我们使用ForEach
结构来遍历排序后的set
数组。注意,我们使用sortedArray(using:)
方法对集合进行排序,以确保遍历的顺序是预期的。
在ForEach
结构中,我们将每个元素都转换为String
类型,并将其作为Text
视图显示。
最后,我们在ContentView
中使用List
视图来显示遍历的结果。
请注意,由于NSSet
是Objective-C的类型,因此我们需要将其转换为Swift数组来进行排序和遍历。
上一篇:遍历 N 叉树的 SML 实现