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

Posted

技术标签:

【中文标题】Xcode UI 未使用最新的 Firebase 值更新【英文标题】:Xcode UI not updating with latest Firebase Values 【发布时间】:2017-07-01 23:23:40 【问题描述】:

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

【问题讨论】:

【参考方案1】:

我认为你应该使用新值重新加载视图:

view.setNeedsDisplay()

【讨论】:

【参考方案2】:

这似乎有效

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

【讨论】:

以上是关于Xcode UI 未使用最新的 Firebase 值更新的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI 与 Firebase 使用 Xcode 11 GM 种子 2 - Swift UI Firestore

Firebase inAppMessaging 事件未被捕获

XCode 未找到 Firebase v2.1.2(未找到框架错误)

将 Firebase 与 Google Toolbox for Mac 一起使用时出现未定义符号 Xcode 错误

firebase 函数中的“firebase serve”未运行最新更改

导航 UI 未使用 Xcode 9 更新