0

我正在尝试将文本字段中的字符串存储到领域数据库中。不知何故,它不只是保存实际的字符串,而是从绑定中保存某种元文本:

绑定(事务:SwiftUI.Transaction(plist:[]),位置:SwiftUI.StoredLocation,_value:“ John Doe ”)

我如何才能将输入的字符串保存到领域而没有围绕它的信息?

这是我的代码:

@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")   
}
4

1 回答 1

0

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")   
}
于 2020-05-09T23:46:54.497 回答