【发布时间】:2017-04-04 05:28:06
【问题描述】:
我正在尝试使用观察者从 firebase 获取数据。但是当我尝试将值附加到我之前创建的数组中时,它失败了。这是代码,有人可以帮我吗?
class ProductTableViewController: UITableViewController{
var productName:[String] = []
override func viewDidLoad() {
super.viewDidLoad()
fetchProduct()
print(self.productName.count)
}
func fetchProduct(){
let currentUserId = FIRAuth.auth()?.currentUser?.uid
FIRDatabase.database().reference().child("users").child(currentUserId!).child("products").observe(.value, with: { (snapshot) in
self.productName.append("Hello")
}, withCancel: nil)
}
在我将一个值附加到该数组后它应该打印 1 但它打印 0。
【问题讨论】:
-
在
print行和append行上放置一个断点。现在运行您的代码并注意首先调用哪个代码。 -
这是因为 Firebase 监听器是异步的。您应该能够在 Swift 中在线找到大量关于如何处理此问题的示例。
标签: ios arrays swift firebase firebase-realtime-database