美文网首页
iOS NSSortDescriptor

iOS NSSortDescriptor

作者: gaookey | 来源:发表于2020-08-24 17:12 被阅读0次
@objcMembers
class Person: NSObject {
    var first = ""
    var last = ""
    var age: Int = 0
    
    init(first: String, last: String, age: Int) {
        self.first = first
        self.last = last
        self.age = age
    }
    
    override var description: String {
        return first + last + "\(age)"
    }
}

let people = [
    Person(first: "g", last: "0", age: 18),
    Person(first: "d", last: "t", age: 16),
    Person(first: "a", last: "x", age: 22)
]

// key:排序key
// ascending: YES-升序, NO-降序
let firstDescriptor = NSSortDescriptor(key: #keyPath(Person.last), ascending: true, selector: #selector(NSString.localizedStandardCompare(_:)))
let lastDescriptor = NSSortDescriptor(key: #keyPath(Person.first), ascending: true, selector: #selector(NSString.localizedStandardCompare(_:)))
let ageDescriptor = NSSortDescriptor(key: #keyPath(Person.age), ascending: true)

let descriptor = [firstDescriptor, lastDescriptor, ageDescriptor]
let p = (people as NSArray).sortedArray(using: descriptor) // [g018, dt16, ax22]

相关文章

网友评论

      本文标题:iOS NSSortDescriptor

      本文链接:https://www.haomeiwen.com/subject/jawnjktx.html