2017-08-16 43 views
0

我正在尝试从Firebase加载数据,但过去我已经能够使用下面的代码,但是我添加了一个额外的子项,结果下面的代码现在不起作用。我迷路了。任何帮助将不胜感激。不接收来自Firebase的数据?

图像是一个UIImageView

Here is the image of my firebase

let databaseRef = Database.database().reference() 

     databaseRef.queryOrderedByKey().observe(.childAdded, with: { 
      snapshot in 

      let content2 = (snapshot.value as? NSDictionary)?["imageWebsite"] as? String ?? "" 
      let content3 = (snapshot.value as? NSDictionary)?["infoWebsite"] as? String ?? "" 

      self.imgURL = content2 
      self.infoURL = content3 

     }) 


     print(imgURL) 
     image.setImageFromURl(stringImageUrl: imgURL) 
+0

当你在'with'块中打印快照时,你会得到什么? – Callam

+0

你在“应用程序传输安全设置”中“允许任意负载”吗? – Lausbert

+0

我确实已将所有安全传输设置设置为允许 – Yellow

回答

1

通过将setImageFromURL FUNC在它执行的代码数据库查询之前完成查询确保objects被加载。

let databaseRef = Database.database().reference() 

     databaseRef.queryOrderedByKey().observe(.childAdded, with: { 
      snapshot in 

      let content2 = (snapshot.value as? NSDictionary)?["imageWebsite4"] as? String ?? "" 
      let content3 = (snapshot.value as? NSDictionary)?["infoWebsite4"] as? String ?? "" 

      self.imgURL = content2 
      self.infoURL = content3 
      print(content2) 

      print(self.imgURL) 
      self.image.setImageFromURl(stringImageUrl: self.imgURL) 


     })