我已經在ViewController類的開始處聲明瞭requestPostArray。我試圖從數據庫「Request Posts」填充requestPostArray,然後從requestPostArray填充tableView。但是,當我打印它的大小顯示爲0.任何幫助,將不勝感激。在關閉之外訪問一個變量Swift3
此外,下面的整個else語句在另一個閉包中。
else {
ref.child("Request Posts").observe(.value, with: { (snapshot) in
let count = Int(snapshot.childrenCount)
// Request Post database is empty
if count == 0 {
cell.nameLabel.text = "No requests so far."
cell.userNameLabel.isHidden = true
cell.numberOfRequestsLabel.isHidden = true
}
// Request Post data is populated
else {
var requestPostArray: [RequestPost]? = []
self.ref.child("Request Posts").observe(.value, with: { (snapshot) in
if let result = snapshot.children.allObjects as? [FIRDataSnapshot] {
for child in result {
let post = RequestPost(snapshot: child)
requestPostArray?.append(post)
}
}
else {
print("No Result")
}
})
print("RequestPostArray size = \(requestPostArray?.count ?? 90)")
cell.nameLabel.text = self.requestPostArray?[indexPath.row].name
cell.userNameLabel.text = self.requestPostArray?[indexPath.row].name
cell.numberOfRequestsLabel.text = self.requestPostArray?[indexPath.row].name
}
})
}
謝謝Achref!我對Swift比較陌生,所以我不太確定單身是什麼。你能簡單地告訴我它是什麼嗎?或者指向我可以找到更多關於它的鏈接?謝謝 – pranavhgupta
請看看這裏http://stackoverflow.com/a/43513805/4442592,我包括一個完整的例子,爲進一步的細節,我想請你讀這個真棒教程:https://www.raywenderlich。 com/86477/introduction-ios-design-patterns-in-swift-part-1 –
我的回答有用嗎? –