CoreData SwiftUI TextField-将绑定数据类型更改为Double无效

时间:2019-12-19 22:57:15

标签: swift core-data swiftui swift5.1

为什么无法将数据类型更改为Binding<Double>? 在CoreData定义中,变量定义为Double。 如果我尝试使用Binding<String>和String类型的另一个CoreData变量进行相同操作,则不会出现任何错误,并且一切正常。 Xcode错误:“无法推断当前上下文中的闭合类型”

TextField("motoric1points", text: Binding<Double>(get: {player.motoric1points ?? "<none>"}, set: {player.motoric1points = $0}))

一些其他信息: 我需要像这样的形式的TextField,因为我正在用循环创建的GridStack中使用它。对我来说很重要,我可以“实时”编辑变量。

我很高兴得到我的帮助。提前谢谢了! :)

1 个答案:

答案 0 :(得分:0)

我想您反过来想要它:

TextField("motoric1points", text: Binding<String>(
    get: {
        if let motoric1points = player.motoric1points {
            return String(motoric1points)
        } else {
            return "<none>"
        }
    },
    set: {
        player.motoric1points = Double($0)
    }
))