2015-10-09 6 views
1

У меня есть массив объектов из класса Parse. Прежде чем использовать его, его нужно отсортировать по его идентификатору, а затем по его последовательности. Я пытался сделать это по-своему ...Swift Array Sort

var data = objects as [PFObject]! 
data = data.sort({($0["Sequence"] as! Int) < ($1["Sequence"] as! Int)}) 
data = data.sort({($0["Identifier"] as! String) < ($1["Identifier"] as! String)}) 

... но его не работает. Сначала он сортирует его по последовательности, затем сортирует по идентификатору, но не сохраняет порядок последовательности. Что-то не так, или есть другой способ сортировки массивов с несколькими условиями.

ответ

1

Это должно работать

data = data.sort({ 
($0["Sequence"] as! Int) < ($1["Sequence"] as! Int) || 
    ( 
    ($0["Sequence"] as! Int) == ($1["Sequence"] as! Int) && 
    ($0["Identifier"] as! String) < ($1["Identifier"] as! String) 
) 
})