SwiftUI "un-bind" 来自文本字段的字符串
SwiftUI "un-bind" a string from a textfield
我正在尝试将文本字段中的字符串存储到 Realm DB 中。它以某种方式不只保存实际的字符串,而是从绑定中保存某种元文本:
Binding(transaction: SwiftUI.Transaction(plist: []),
location: SwiftUI.StoredLocation, _value: "John
Doe")
我怎样才能将输入的字符串保存到 realm 而没有它周围的信息?
这是我的代码:
@State var enteredName: String = ""
let realm = try! Realm()
对于文本字段:
TextField("enter your name", text: $enteredName)
.textFieldStyle(RoundedBorderTextFieldStyle())
对于按钮:
Button(action: {
let newPerson = Contacts()
newPerson.name = "\(self.$enteredName)"
do {
try self.realm.write {
self.realm.add(newPerson)
}
} catch {
print("Error saving newPerson \(error)")
}
}) {
Text("Save New Person")
}
在 Button
闭包 action
中,通过使用 $
符号,您正在向 enteredName
发送绑定引用。你只需要一个普通的引用,你可以通过删除 $
符号来实现。
您的代码应该是:
Button(action: {
let newPerson = Contacts()
newPerson.name = self.enteredName
do {
try self.realm.write {
self.realm.add(newPerson)
}
} catch {
print("Error saving newPerson \(error)")
}
}) {
Text("Save New Person")
}
我正在尝试将文本字段中的字符串存储到 Realm DB 中。它以某种方式不只保存实际的字符串,而是从绑定中保存某种元文本:
Binding(transaction: SwiftUI.Transaction(plist: []), location: SwiftUI.StoredLocation, _value: "John Doe")
我怎样才能将输入的字符串保存到 realm 而没有它周围的信息?
这是我的代码:
@State var enteredName: String = ""
let realm = try! Realm()
对于文本字段:
TextField("enter your name", text: $enteredName)
.textFieldStyle(RoundedBorderTextFieldStyle())
对于按钮:
Button(action: {
let newPerson = Contacts()
newPerson.name = "\(self.$enteredName)"
do {
try self.realm.write {
self.realm.add(newPerson)
}
} catch {
print("Error saving newPerson \(error)")
}
}) {
Text("Save New Person")
}
在 Button
闭包 action
中,通过使用 $
符号,您正在向 enteredName
发送绑定引用。你只需要一个普通的引用,你可以通过删除 $
符号来实现。
您的代码应该是:
Button(action: {
let newPerson = Contacts()
newPerson.name = self.enteredName
do {
try self.realm.write {
self.realm.add(newPerson)
}
} catch {
print("Error saving newPerson \(error)")
}
}) {
Text("Save New Person")
}