如何在swift中通过boolean文件对数组进行排序?

bac*_*112 1 swift

我有一个这样定义的类:

class someClass {
   var isCompleted = false
}
Run Code Online (Sandbox Code Playgroud)

如何排序列表someClass?如果要将已完成的项目移动到列表顶部.

Mar*_*n R 7

您可以通过将值转换为以下内容来根据布尔属性进行排序Int:

let arrayOfClasses =  ... // array of classes

let sortedArrayOfClasses = sorted(arrayOfClasses) {
    Int($0.isCompleted) > Int($1.isCompleted)
}
Run Code Online (Sandbox Code Playgroud)

或者使用"原位"排序:

var arrayOfClasses =  ... // array of classes

sort(&arrayOfClasses) {
    Int($0.isCompleted) > Int($1.isCompleted)
}
Run Code Online (Sandbox Code Playgroud)