' can-6ren">
gpt4 book ai didi

arrays - 使用 Int 对数组进行排序

转载 作者:行者123 更新时间:2023-11-30 10:42:15 25 4
gpt4 key购买 nike

我想按最高时间戳到最低时间戳对数组进行排序。首先,我想从 Firebase 获取所有数据并将其添加到数组中,当获取所有数据时,我想对数组进行排序。当我尝试这样做时,我会在 posts.sort(by: {$0.timestamp > $1.timestamp}) 线上收到此错误:

Binary operator '>' cannot be applied to two 'Int?' operands

这是我的代码:

var posts: [Post] = []

Api.MyPosts.fetchMyPosts(userId: self.userId) { (key) in
Api.Post.observePost(withId: key, completion: {
post in
self.posts.insert(post, at: 0)
self.tableView.reloadData()
})
posts.sort(by: {$0.timestamp > $1.timestamp})
}

有人知道如何修复此错误并将时间戳保留为 int 吗?

最佳答案

您需要unwrap timestamp因为它是 optional Int值,即

posts.sort {
guard let t1 = $0, let t2 = $1 else {
return false
}
return t1 > t2
}

关于arrays - 使用 Int 对数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56543000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com