【问题标题】:SwiftUI Picker in Form does not show checkmark from CoreData表单中的 SwiftUI Picker 不显示来自 CoreData 的复选标记
【发布时间】:2019-12-30 15:29:49
【问题描述】:

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

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?

【问题讨论】:

    标签: core-data swiftui picker


    【解决方案1】:

    Picker中的选择应该与呈现值的类型相同,所以你需要类似

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

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

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

    【讨论】:

    • 你成就了我的一天,UUID?解决了这个问题。非常感谢!
    猜你喜欢
    • 2020-01-25
    • 1970-01-01
    • 1970-01-01
    • 2020-05-05
    • 1970-01-01
    • 1970-01-01
    • 2020-10-30
    • 2022-01-22
    • 1970-01-01
    相关资源
    最近更新 更多