我有一个包含两种类型的对象的数组:奖励对象和非奖励对象。我只是想对数组进行排序,以便将奖励对象放在第一位,其余的放在第二位。
这是定义键“awarded”的代码:
if let awarded = achievements[indexPath.row].userRelation["awarded"] as? String where awarded != "<null>" { }
在这些范围内,我想使用“已授予”的未包装的值对成就进行排序,并将其添加到开头,其余的添加到结尾。
我将如何去做?
最佳答案
您应该尝试使用sort
函数,它非常有用。
let sortedAchievements = achievements.sorted{ $0.userRelation["awarded"] < $1.userRelation["awarded"] }
要对此进行排序,请使用以下命令:
achievements.sort{ $0.userRelation["awarded"] < $1.userRelation["awarded"] }
我建议重构您的模型。最好使用对象或结构代替字典。另外
awarded
应该是Bool
属性,而不是String
,对吗?