表单中的 SwiftUI 选取器不会显示来自 CoreData 的复选标记



我有一个问题,在选择器中选择值后,我没有看到它被选中:

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!)
}
}
}
}
}
}
}

我的核心数据具有以下两个属性:

@NSManaged public var title: String?
@NSManaged public var id: UUID?

Picker中的选择应该与呈现的值相同,因此您需要类似

@State private var category: UUID? = UUID()

注意:可能是由于在我的示例中并非提供的所有代码,我需要按如下方式更改您的代码以使其可编译(使用 Xcode 11.2 进行测试(

ForEach(categories, id: .id) { cat in

最新更新