我有一个使用Firebase获取和存储数据的应用。在我使用的ViewDidLoad中:
fullnameTextField.text = currentUser.fullName
其中currentUser.fullname引用字典。现在,我有一个功能来更新Firebase中的这些信息:
@IBAction func saveFullNameDidTap(_ sender: Any) {
let ref = DatabaseReference.users(uid: currentUser.uid).reference().child("fullName")
if let fullName = fullnameTextField.text {
ref.setValue(fullName)
}
fullnameTextField.resignFirstResponder()
fullnameSaveButton.isHidden = true
alert(title: "", message: "Name Successfully Changed", buttonTitle: "OK")
}
这确实会改变Firebase中的信息,但是当我重新加载该特定页面时,该字段中的数据将恢复为旧值。如果我重新构建应用程序,它将使用正确的信息进行更新。如何在每次更改时将最新数据输入到字段中?
答案 0 :(得分:0)
我认为您应该使用以下新值重新加载视图:
view.setNeedsDisplay()
答案 1 :(得分:0)
这似乎有效
@IBAction func saveFullNameDidTap(_ sender: Any) {
let ref = DatabaseReference.users(uid: currentUser.uid).reference().child("fullName")
let fullName = fullnameTextField.text
ref.setValue(fullName)
currentUser.fullName = fullName!
fullnameTextField.resignFirstResponder()
fullnameSaveButton.isHidden = true
alert(title: "", message: "Name Successfully Changed", buttonTitle: "OK")
}