我在一个项目中工作,涉及到获取用户上传的帖子。我在字典中检索用户帖子并将它们添加到数组中。当用户发布一些东西时,我有该帖子的创建日期。现在问题来了,当我在集合视图中加载这些post时,每当我运行代码时,post就会被洗牌。
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}
问题内容: 我有一个包含一个称为的对象的数组,它具有诸如“日期”,“名称”等属性。 我正在对数组进行排序,如下所示: 应该将日期从新到旧排序。例如: 2016年6月30日 2016年6月29日 等等.. 但是,当我的数组包含“ 2016年7月2日”时,排序后的数组将变为: 2016年6月30日 2016年6月29日 2016年7月2日 排序后,“ 2016年7月2日”应该位于顶部,而现在位于底部?
现在如何按照MyClass对象的名称对数组进行排序。
问题内容: 我有一个对象数组,如下所示: 我想按排序。 我尝试这样做如下: 但是这些尝试都没有成功。我得到的结果是: 这是小提琴。 问题答案: 使用构造函数并执行类似的操作。 或通过将日期字符串反转后使用字符串比较。
考虑以下数组: 我如何对这个数组进行排序,其中最高值(5)是第一个,然后是2然后是最低值(1)是最后一个?我用了这个: 但我明白了: 它改变了键,但这是错误的。我希望得到这个: 我搜索发现:按数值排序一个数组,但这没有帮助。
问题内容: 我有这种格式的数组: 我想按日期的升序对它们进行排序(基于月,日和年)。最好的方法是什么? 最初,电子邮件是以MySQL日期格式获取的,因此我有可能将阵列设置为以下状态: 也许当它采用这种格式时,我可以遍历它们,删除所有(连字符)标记,使它们保留为整数,使用它们对它们进行排序,然后再次遍历它们以对其进行排序?如果有另一种方法,我会比较喜欢,因为我将为此每个用户执行3次循环。 谢谢。 编
问题内容: 我将MongoDB与Node.JS结合使用。我有一个包含日期和其他行的集合。日期是一个JavaScript 对象。 如何按日期排序此收藏集? 问题答案: 只需对@JohnnyHK答案进行一些修改 在许多用例中,我们希望返回最新记录(例如最新更新/插入)。