我正在寻找一种基于布尔值对 Swift 数组进行排序的方法。
使用向 NSArray 强制转换的方式可以实现:
var boolSort = NSSortDescriptor(key: "selected", ascending: false)
var array = NSArray(array: results)
return array.sortedArrayUsingDescriptors([boolSort]) as! [VDLProfile]
但我正在寻找Swift变量,有任何想法吗?
更新 感谢Arkku,我已经使用以下代码修复了这个问题:
return results.sorted({ (leftProfile, rightProfile) -> Bool in
return leftProfile.selected == true && rightProfile.selected != true
})
()
(当闭包是最后一个参数时允许这样做)。 - Arkku