如何在 SwiftUI 中由 CoreData 生成的 NSSet 上使用 ForEach

How to use ForEach on a NSSet generated by CoreData in SwiftUI

我生成了一个具有一些一对多关系的 CoreData 模型。现在我想在此关系上使用 ForEach,它是 NSSet,然后出现以下错误:

Generic struct 'ForEach' requires that 'NSSet' conform to 'RandomAccessCollection'

我的代码如下所示:

struct DetailView: View {
    var sample: Sample

    var body: some View {
        VStack {
            ForEach(sample.stepps!, id: \.self) { step in
                ...
            }
        }
    }
}

如何解决?

这是可能的方法

ForEach(Array(sample.stepps! as Set), id: \.self) { step in
    // step is NSObject type, so you'll need it cast to your model
}