如何在Swift中按数组计数对Firebase NSDictionary项进行分组?

时间:2016-08-28 18:02:12

标签: swift firebase nsdictionary firebase-realtime-database rank

我正在保存像用户一样的Firebase分支 - >水果 - > “橘子”。我想要的是搜索我的所有“用户”并对实际水果进行排名,即10个用户水果是橙子,8个用户水果是苹果,12个用户水果是葡萄。我想在tableview中列出这些作为Grapes然后是Oranges然后是Apples。我怎样才能通过NSDictionary方法或Firebase实现这一目标?

1 个答案:

答案 0 :(得分:1)

嗨,我个人认为更好的方法是保存2个单独的JSON树,

1)用户 - >水果 - > “桔子”

2)水果 - > “橘子” - >用户

通过维护2个JSON树,您可以轻松获得每个水果的用户数,选择该特定水果的所有用户的名称以及每个用户选择的水果。

根据Firebase数据库文档

,它也很容易实现
let key = ref.child("posts").childByAutoId().key
let post = ["uid": userID,
        "author": username,
        "title": title,
        "body": body]
let childUpdates = ["/posts/\(key)": post,
                "/user-posts/\(userID)/\(key)/": post]
ref.updateChildValues(childUpdates)

您只需一次保存即可轻松创建2个JSON树。