我有一個UICollectionView,我使用一個類來填充數據。到目前爲止,我正在填充虛擬數據,如下面的代碼所示。我試圖用我的Firebase數據庫中的數據替換此虛擬數據。如何使用類返回Firebase數據?
import UIKit
class MrNobody
{
// MARK: - Public API
var title = ""
var description = ""
var numberOfMembers = 0
var numberOfPosts = 0
var featuredImage: UIImage!
init(title: String, description: String, featuredImage: UIImage!)
{
self.title = title
self.description = description
self.featuredImage = featuredImage
numberOfMembers = 1
numberOfPosts = 1
}
// MARK: - Private
// dummy data
static func createMrNobody() -> [MrNobody]
{
return [
MrNobody(title: "some text" , description: "some text", featuredImage: UIImage(named: "r1")!),
MrNobody(title: "some text" , description: "some text", featuredImage: UIImage(named: "r1")!),
MrNobody(title: "some text" , description: "some text", featuredImage: UIImage(named: "r1")!),
]
}
}
爲了包括數據,我已經包括import Firebase
,確定使用
ref.observeEventType(.Value, withBlock: { snapshot in
print(snapshot.value)
}, withCancelBlock: { error in
print(error.description)
})
我能夠讀出子數據使用let ref = Firebase(url: "my app url")
和讀取數據我的火力點的數據庫,但我不能夠在函數的return
塊中使用它。理想情況下,我想使用enumerator = snapshot.childrenCount
,並且反覆使用return
函數,因爲有多少孩子在感興趣的節點中。
任何幫助/方向將不勝感激。
嘿OP,我知道你的問題已經得到解答,但我鼓勵你僅僅在'MrNobody'類中做一個初始化者需要一個'FDataSnapshot'。這是一個很好的做法,因爲它允許代碼的可重用性,以防您需要在代碼中的多個位置使用這些快照(也許如果您聆聽'.ChildAdded'和'.ChildRemoved'事件類型)。 –