Swiftui 在列表中使用NavigationLink的FetchRequest

Swiftui 在列表中使用NavigationLink的FetchRequest,swiftui,binding,nsfetchrequest,Swiftui,Binding,Nsfetchrequest,是否可以在SwiftUI中执行类似操作,以使用在列表中使用NavigationLink的FetchRequest: struct ListView: View { @Environment(\.managedObjectContext) private var viewContext @FetchRequest( sortDescriptors: [NSSortDescriptor(keyPath: \Recipe.name, ascending: true)]

是否可以在SwiftUI中执行类似操作,以使用在列表中使用NavigationLink的FetchRequest:

struct ListView: View {
    @Environment(\.managedObjectContext) private var viewContext

    @FetchRequest(
        sortDescriptors: [NSSortDescriptor(keyPath: \Recipe.name, ascending: true)],
        animation: .default)
    private var items: FetchedResults<Recipe>

    var body: some View {
        NavigationView {
            List {
                ForEach(items) { item in
                    NavigationLink(destination: DetailView(item: $item)) {
                        Text(item.wrappedName)
                    }
                }
            }
        }
    }
}

struct DetailView: View {
    @Binding var item: MyObject
    
    var body: some View {
        Text("Hello, Recipe!")
    }
}

因为
MyObject
无论如何都是一个类,所以您可以简单地删除
@Binding
。然后您可以直接传递
,无需绑定。您是对的,它是类而不是结构。我忘了。将此作为答案发布,我将接受所有coredata对象都是可观察对象。为什么要束缚它们而不是仅仅观察它们?将“@Binding”更改为“@ObservedObject”,以便您可以编辑它并查看在其他视图中所做的更改。
Cannot find '$item' in scope