私は次のシステムを作っています。ユーザーはお互いにフォローできますが、あまり役に立ちません。あなたがフォローしているユーザーの投稿だけを表示する方法について頭を悩ますようには思えません。だから私はここであなたがそれをやる方法を尋ねます。あなたがフォローしているユーザーからの投稿を表示します - 迅速かつファイアベース
データベースの設定方法私はあなたをお見せしましょう:あなたは、私が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)
}
}
。投稿に好きなコメントボタンがあり、あるユーザの投稿の好きさが他のユーザの投稿と同じにならないので、私はそれを行うことができません。そのため、フォロワーの壁のポストにキーを追加するという考え素晴らしいです。しかし、どうすればいいのですか?ユーザー自身の名前とすべての彼のフォロワーの名前で記事を書く
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 –