获取存储在firebase中的数据值

时间:2016-09-21 14:47:57

标签: ios swift firebase firebase-realtime-database ios-lifecycle

我试图访问存储在firebase仪表板中的值,以便在类中的不同函数和方法中使用它们。

I used this method in this question

我试图打印他们的价值观,整个应用程序崩溃了,它给了我他们的零!

他们实际上并不是零! 我在viewDidLoad中使用了类似的方法,我可以将值检索到标签!

.box1:hover .box2:after{SOME CSS}

为什么我在这里遇到崩溃!

1 个答案:

答案 0 :(得分:0)

更改ref.child(byAppendingPath: self.strUserid as String)

要: -

ref.child(self.strUserid)

同时删除let refer = FIRDatabase.database().reference().child("UserDevices")

您无法在范围外全局初始化您的引用,因为您不知道您的类的初始化顺序,并且可能的情况是您的 FIRDatabase 尚未初始化您尝试初始化 let refer

而不是 refer 中的 retrieveUserData

FIRDatabase.database().reference().child("UserDevices")

您在 viewController LIFE CYCLE 中看到, viewWidAppear 之前调用 viewdidLoad

所以你需要的是: -

override func viewDidLoad() {
 super.viewDidLoad()
  ..
   retrieveUserData{(email,phone,ImageUrl) in
    self.globalEmail = email
    self.globalPhone = phone
    self.globalImageUrl = ImageUrl
     self.DeviceDetailsImageView.downloadedFrom(link: globalImageUrl)
    // .. Do your stuff...

       }

  }

enter image description here

阅读:Viewcontroller's Lifecycle