带有字典的 SwiftUI TextField

时间:2021-01-30 15:57:17

标签: swift swiftui

我有几个文本字段,我想将所有条目保存在字典中。

我的字典:

@State var fieldInput: [String: Binding<String>] = [:]

我的文本字段:

TextField("Name", text: fieldInput["Name"]!)

不幸的是,当我想使用 TextFields 访问视图时,我总是收到此错误。

Fatak error: Unexpectedly found nuk while unwrapping an Optional value

2 个答案:

答案 0 :(得分:0)

字典不是序列容器,因此其中的每个条目在更改时都不会持久化,因此您无法绑定到它,因此甚至不允许这样做。

这是可能的方法

@State var fieldInput: [String: String] = [:]
@State private var name = ""

..

TextField("Name", text: $name)
   //.onReceive(Just(name)) {      // << iOS 13.+ (needs import Combine)
   .onChange(of: name) {
      fieldInput["Name"] = $0      // << here !!
   }

答案 1 :(得分:0)

size