我想通過使用觀察者從firebase獲取數據。但是當我嘗試將值追加到我之前創建的數組中時,它失敗了。這裏是代碼,有人可以幫我嗎?swift3 append函數在firebase裏面不起作用observeSingleEvent
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'行上放置一個斷點。現在運行你的代碼並注意哪一個被首先調用。 – rmaddy
這是因爲Firebase偵聽器是異步的。您應該能夠在Swift中在線找到大量示例,瞭解如何處理此問題。 –