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

How to group Firebase NSDictionary items by array count in Swift?

我正在保存一个 Firebase 分支,如 Users --> Fruit --> "oranges"。我想要的是搜索我所有的 "Users" 并对实际水果进行排名,即 10 个用户的水果是橙子,8 个用户的水果是苹果,12 个用户的水果是葡萄。我想在表格视图中将这些列为葡萄,然后是橙子,然后是苹果。如何通过 NSDictionary 方法或 Firebase 实现此目的?

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

1) 用户 --> 水果 --> "Oranges"

2) 水果 --> "Oranges" --> 用户

通过维护 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 棵树。