簡體   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