我做了一個以下的系統,用戶可以相互關注,但目前並不是非常有用。我似乎無法知道如何只顯示你關注的用戶的帖子 - 所以我在這裏問你如何做。顯示你關注的用戶的帖子 - swift&firebase
讓我告訴你數據庫的設置方式:
正如你可以看到我有一個名爲Users
水龍頭 - 在那裏所有的用戶ID存儲。無論何時用戶想要關注另一個用戶,都會點擊Following
,並在其下按下當前用戶按下的用戶 - 他/她的ID將存儲在Following
下。然後將當前的用戶ID添加到他/她在Followers
下的用戶。很簡單但很複雜的解釋:D我希望你得到我要去的地方。
所以現在我只想顯示我關注的用戶的帖子。你會怎麼做?您是否會這樣做:當用戶發佈帖子時,它會在名爲Posts
的龍頭下添加到自己的名稱中,並添加到PostsToFollow
下的所有用戶名稱中?我只是認爲它會佔用數據庫中的很多空間?沒有更好的方法來做到這一點?
那麼這裏是我的代碼的一部分,讓我所有的當前用戶追隨者。我如何使用該代碼來創建新帖子,並將其添加到他們的postsToFollow
?
func startObersvingDB() {
FIRDatabase.database().reference().child("Users").child(IDgotten).child("Followers").observeEventType(.Value, withBlock: { (snapshot: FIRDataSnapshot) in
var newUpdates = [FollowersStruct]()
for update in snapshot.children {
print(update)
let updateObject = FollowersStruct(snapshot: update as! FIRDataSnapshot)
newUpdates.append(updateObject)
}
self.updates = newUpdates.reverse()
self.tableView.reloadData()
}) { (error: NSError) in
print(error.description)
}
}
弗蘭克:
我做了這個添加整個帖子所有正在關注我的用戶的用戶。我無法這樣做,因爲我在帖子上有一個like和comment按鈕,所以一個用戶帖子上的喜歡與其他用戶帖子不一樣,這就是爲什麼我認爲在followers牆上添加關鍵帖子的原因是很棒的。但我該怎麼做?
到目前爲止,我已經做這個,要完成的任務,你說:-):
let feed = Sweet(content: update, addedByUser: name!, profilePhoto: uid, likesForPost: ["user id": false], date: timePosted, category: 1, workoutComment: "", workoutTime: "")
let feedRef = FIRDatabase.database().reference().child("feed-items").childByAutoId()
feedRef.setValue(feed.toAnyObject())
FIRDatabase.database().reference().child("Users").child(uid).child("Followers").observeEventType(.Value, withBlock: { (snapshot: FIRDataSnapshot) in
var newFollowers = [FollowersStruct]()
for updateFollowers in snapshot.children {
let updateObjectFollowers = FollowersStruct(snapshot: updateFollowers as! FIRDataSnapshot)
newFollowers.append(updateObjectFollowers)
}
self.followings = newFollowers
print(self.followings.count)
for i in 0..<self.followings.count {
let followers = self.followings[i]
let feedRefFollowers = FIRDatabase.database().reference().child("Users").child(followers.Id).child("Wall").childByAutoId()
feedRefFollowers.setValue(feed.toAnyObject())
}
}) { (error: NSError) in
print(error.description)
}
這聽起來像我應該增加的職位關鍵用戶「牆」去了。但是,我將如何讀取所有這些密鑰,然後才能發佈帖子? –
如何獲得新增加的帖子的關鍵? –
我編輯了這篇文章並附有一條消息給你,你可以在這裏看到我想要做的事情:D –