Swift Firebase - 返回Feed中所有用户事件的结果

时间:2017-03-06 02:36:18

标签: ios swift firebase firebase-realtime-database

我试图显示所有用户的所有事件,但到目前为止,我只是只显示当前事件。

这是我的代码:

self.dbRef.child("user_profiles").child(self.activeUser!.uid).observeSingleEvent(of: .value) { (snapshot: FIRDataSnapshot) in
            self.activeUserData = snapshot.value as? NSDictionary

            //Get Events
            self.dbRef.child("events/\(self.activeUser!.uid)").observe(.childAdded, with: { (snapshot: FIRDataSnapshot) in

                    self.events.append(snapshot.value as! NSDictionary)




                    self.homeTableView.insertRows(at: [IndexPath(row:0, section:0)], with: UITableViewRowAnimation.automatic)

                    self.aivLoading.stopAnimating()
                }

            ){(error) in
                print(error.localizedDescription)
            }

        }

我的Firebase树如下所示:

events
   - UserID (user who posted the event)
      - eventID
         - eventDetails

有没有办法显示所有用户的所有活动?或者我的数据库是否需要重组?如果是这样,怎么样?

1 个答案:

答案 0 :(得分:0)

由于您的Firebase树看起来像:

events
   - UserID (user who posted the event)
      - eventID
         - eventDetails

要获取所有用户获取所有用户ID所需的所有事件,您只需循环访问用户ID并获取所有事件。

或者您可以重构Firebase,如:

events
   - eventID
      - eventDetails
      - userID (user who posted the event)

在用户孩子中:

user
   - userID
      - events
         - eventID