繁体   English   中英

SwiftUI 带有字典的文本字段

[英]SwiftUI TextField with dictonary

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

我的字典:

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

我的文本字段:

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

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

Fatak error: Unexpectedly found nuk while unwrapping an Optional value

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

这是可能的方法

@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 !!
   }
    struct ContentView: View {
    
    @State var fieldInput: [String: String] = [:]
    
    @State var value: String = String() {
        didSet {
            fieldInput["Name"] = value
        }
    }
    
    var body: some View {

        TextField("Enter your name here . . .", text: $value)

    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM