[英]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.