currentUser
がフォローしているすべてのユーザーの投稿を表示するウォール/タイムラインを作成しようとしています。 currentUser
のユーザーはすべてUsers -> UserID -> Following
で表示されます。フォロワーの1人が投稿をしているときはいつも、feed-items
の下にautoIDで追加されます - キー(autoID)はcurrentUser
のUsers -> UserID -> Wall
に同時に追加されます。 現在のユーザーからの投稿を表示 - Firebase/Swift
あなたが見ることができるように、このユーザーのフォロワーの一つがポスト(全体のポストはfeed-items
の下に保存されます)とAUTOIDをしたWall
の下で:ここで
は私のFirebaseデータベースから例の画像ですその投稿のユーザーの壁にそれを作った。
currentUser
のWallの下に保存されているautoIDに基づいて、feed-items
にすべての投稿を表示する方法を解明しようとしています。
は、私は、次のコードを試してみましたが、何も示していないと、それは、この行print(self.updates.count)
に到達したとき、私は右推測していた場合には、このようなものであるフィードアイテムのために、あなたの構造を0
func startObersvingDB(userID: String) {
FIRDatabase.database().reference().child("Users").child(userID).child("Wall").observeEventType(.ChildAdded, withBlock: { snapshot in
if let posts = snapshot.value!["Post"] as? String {
self.postArray.append(posts)
for i in 0..<self.postArray.count {
let post = self.postArray[i]
print(post)
FIRDatabase.database().reference().child("feed-items").queryEqualToValue(post).observeEventType(.Value, withBlock: { (snapshot: FIRDataSnapshot) in
var newUpdates = [Sweet]()
for update in snapshot.children {
let updateObject = Sweet(snapshot: update as! FIRDataSnapshot)
newUpdates.append(updateObject)
}
self.updates = newUpdates.reverse()
print(self.updates.count)
self.tableView.reloadData()
}) { (error: NSError) in
print(error.description)
}
}
}
})
}