<分区>
我去年为某人制作了一个应用程序,以便他们可以跟踪从客户那里收到的钱。当时我还没有考虑如果里面有不同年份的词条会怎么样,果然,到了2018年,词条的排序就乱了。我无法弄清楚如何在两年内对我的条目数组进行排序,如果你们中的任何人能帮助我解决这个问题,我将不胜感激。以下是我遇到问题的特定页面的格式和代码。
格式:
有一个具有以下结构的 TableView,它按后面提到的标准排序。由于存在 2017 年和 2018 年的条目(日期的末尾是年份),此 tableView 使用的数组排序变得困惑。
日期 |名称 |金钱 |余额
代码:
阵列模型:
struct BalanceUser {
var id = ""
var name = ""
var date = ""
var money = ""
var balance = ""
var status = ""
var year = ""
}
我向数组结构 year 添加了一个新变量,以便我可以使用它进行排序。
当前排序代码:
self.sortedTableArray.sort(by: { (object1, object2) -> Bool in
if object1.date == object2.date {
return object1.id < object2.id
} else {
return object1.date < object2.date
}
})
self.sortedTableArray.sort(by: { (object1, object2) -> Bool in
return object1.year < object2.year
})
目前,使用上面的代码,2018 年的条目显示在 2017 年的条目上方。我想要它,以便所有条目都按照以下标准排序:
- 如果两个条目的日期相同,则按id排序
- 如果两个整体的日期不相同,则按日期排序
- 所有条目应按年份排序,以便 2018 年的条目显示在 2017 年的条目下方。
谢谢!