我有一个数组,其中包含两种类型的对象:已授予和未授予。我只是想对我的数组进行排序,以便先放置奖励对象,然后再放置其余对象。
这里是定义键“awarded”的代码:
if let awarded = achievements[indexPath.row].userRelation["awarded"] as? String where awarded != "<null>" { }
在这些括号内,我想使用我的未包装值“awarded”来对成就进行排序,并将这些添加到开头,其余的添加到结尾。
我该怎么做呢?
最佳答案
您应该尝试使用 sort
函数,它非常有用。
let sortedAchievements = achievements.sorted{ $0.userRelation["awarded"] < $1.userRelation["awarded"] }
要就地排序,请使用:
achievements.sort{ $0.userRelation["awarded"] < $1.userRelation["awarded"] }
我建议重构您的模型。最好使用对象或结构而不是字典。另外,awarded
应该是 Bool
属性,而不是 String
,对吧?
关于ios - 如何根据键对数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40164158/