2017-07-01 98 views
0

我有一個使用Firebase提取和存儲數據的應用程序。在我使用的ViewDidLoad中:Xcode用戶界面無法使用最新的Firebase值更新

fullnameTextField.text = currentUser.fullName 

其中currentUser.fullname引用字典。現在,我有一個函數在火力地堡更新此信息:

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

這確實改變火力地堡的信息,但是當我重新加載特定頁面,在該領域的數據回覆到原來的值。如果我重新構建應用程序,它將被更新爲正確的信息。每次更改時如何將最新數據導入現場?

回答

0

我想你應該使用重新加載新的價值觀的觀點:

view.setNeedsDisplay() 
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") 
     }