arrays - 如何快速按日期对字典数组中的项目进行排序

标签 arrays swift firebase date uicollectionview

<分区>

我正在从事一个涉及获取用户上传的帖子的项目。我在字典中检索用户帖子并将它们添加到数组中。当用户发布内容时,我有帖子的创建日期。现在,当我将这些帖子加载到一个 Collection View 中时,问题就来了,每次我运行代码时,帖子都会随机播放。

fileprivate func fetchPostsWithUser(user: User) {
        let ref = Database.database().reference().child("posts").child(user.uid)
        ref.observeSingleEvent(of: .value, with: { (snapshot) in
            guard let dictionaries = snapshot.value as? [String: Any] else { return }

            dictionaries.forEach({ (key, value) in
                guard let dictionary = value as? [String: Any] else { return }

                let post = Post(user: user, dictionary: dictionary)
                print(post.creationDate) // 2019-06-07 20:53:14 +0000

                self.posts.append(post)
            })


            self.collectionView?.reloadData()

        }) { (err) in
            print("Failed to fetch posts:", err)
        }
    }

最佳答案

self.posts.sort{$0.creationDate < $1.creationDate}

关于arrays - 如何快速按日期对字典数组中的项目进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56820935/

相关文章:

java - 错误: generic array creation with my own object

swift - 如何在 iOS 推送通知中合并 loc-args 和 loc-key 字符串

ios - 使用 swift 检查 Firebase 中的用户类型

java - 如何将 FCM token ID 发送到 PHP 服务器?

c - C语言中存储学生姓名和成绩的数组

c++ - 重新转换数组以存储在 vector 中

iOS swift : Pushing two view controllers when app launched from push notification

ios - 如何成功传递字符串数组作为参数 alamofire

angular - 在我的 Angular 7 项目中哪里添加 firebase.initializeApp() ?

python - 如何检测只有一个元素的 numpy 数组的长度?