Xcode UI未使用最新的Firebase值进行更新

时间:2017-07-01 23:23:40

标签: ios swift firebase

我有一个使用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中的信息,但是当我重新加载该特定页面时,该字段中的数据将恢复为旧值。如果我重新构建应用程序,它将使用正确的信息进行更新。如何在每次更改时将最新数据输入到字段中?

2 个答案:

答案 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")
        }