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