2017-07-01 62 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") 
     }