如何根据键对数组进行排序?

时间:2016-10-20 20:41:36

标签: ios arrays swift sorting

我有一个有两种类型对象的数组:获奖和未奖励。我只是想对我的数组进行排序,以便首先放置获奖对象,然后放置其余对象。

以下是定义密钥“award”的代码:

if let awarded = achievements[indexPath.row].userRelation["awarded"] as? String where awarded != "<null>" { }

在这些括号中,我想使用我的未包装值“奖励”来分类成就并将其添加到开头,其余部分添加到最后。

我将如何做到这一点?

1 个答案:

答案 0 :(得分:2)

你应该试用sort函数,这非常有用。

let sortedAchievements = achievements.sorted{ $0.userRelation["awarded"] < $1.userRelation["awarded"] }

要进行排序,请使用:

achievements.sort{ $0.userRelation["awarded"] < $1.userRelation["awarded"] }

我建议重构你的模型。最好使用对象或结构而不是字典。另外awarded应该是Bool属性,而不是String,对吗?