【问题标题】:How should I bind to a Core Data Entity String Attribute within a SwiftUI view?我应该如何绑定到 SwiftUI 视图中的核心数据实体字符串属性?
【发布时间】:2020-03-18 22:33:18
【问题描述】:

这是我的 SwiftUI 视图:

struct EditEntity: View {
    @State var entity: Entity
    var body: some View {
        Form {
            TextField("Entity Name", text: $entity.name)
        }
    }
}

Entity 是 Core Data 使用代码生成为我创建的对象。

以下是该实体在 Core Data 模型文件中的设置方式:

我遇到的问题是 $entity.nameBinding<String?> 对象,而 SwiftUI 需要 Binding<String> 对象。所以我得到这个编译错误:

Cannot convert value of type 'Binding<String?>' to expected argument type 'Binding<String>'

那么有谁知道这方面的最佳做法是什么?我应该在视图类中为属性创建一个单独的非可选变量吗?从我的屏幕截图中可以看出,我将属性设置为不是可选的,希望它是一个非可选的字符串,但显然这不起作用。

我发现基本上这个问题问了here。答案是创建一个扩展。当尝试将 SwiftUI 与 Core Data 一起使用来做这样一个基本的事情时,这真的需要做吗?

【问题讨论】:

    标签: swift core-data swiftui


    【解决方案1】:

    以下内容应该有所帮助:

    TextField("Entity Name", text: Binding($entity.name)!)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多