Core data 表单中的SwiftUI选择器不显示CoreData中的复选标记

Core data 表单中的SwiftUI选择器不显示CoreData中的复选标记,core-data,swiftui,picker,Core Data,Swiftui,Picker,我有一个问题,在选取器中选择一个值后,我不认为它是选中的: struct SampleView: View { @FetchRequest( entity: Category.entity(), sortDescriptors: [ NSSortDescriptor(keyPath: \Category.title, ascending: true) ] ) var categories: FetchedR

我有一个问题,在选取器中选择一个值后,我不认为它是选中的:

struct SampleView: View {
    @FetchRequest(
        entity: Category.entity(),
        sortDescriptors: [
            NSSortDescriptor(keyPath: \Category.title, ascending: true)
        ]

    ) var categories: FetchedResults<Category>
    @State private var category = UUID()

    var body: some View {
        NavigationView {
        VStack {
            Form {
                Picker(selection: $category, label: Text("Picker")) {
                    ForEach(categories) { cat in
                        Text(cat.title!)
                    }
                }
            }
        }
        }
    }
}

Picker
中的选择应与显示的值的类型相同,因此您需要

@State private var category: UUID? = UUID()
注意:这可能是因为在我的示例中,并非所有的代码都是由提供的,我需要按如下方式更改您的代码以使其可编译(使用Xcode 11.2测试)


你让我开心,UUID?解决了这个问题。非常感谢你!
@State private var category: UUID? = UUID()
ForEach(categories, id: \.id) { cat in