¿Cómo clasificar una matriz en function de la key?

Tengo una matriz que tiene dos types de objects: premiados y no premiados. Simplemente quiero orderar mi matriz para que los objects premiados se coloquen primero, y el rest se coloquen después.

Aquí está el código que define la key "otorgada":

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

Dentro de esos paréntesis, me gustaría usar mi valor no envuelto "premiado" para orderar los logros y agregarlos al comienzo, y el rest al final.

¿Cómo iba a hacer eso?

Deberías experimentar con la function sort , es muy útil.

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

Para orderar en el lugar, use esto:

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

Recomendaría refactorizar su model. Es mejor usar objects o estructuras en lugar de dictionarys. También se debe awarded una propiedad de Bool , no una String , ¿verdad?