Swift排序不同类的数组

时间:2017-11-13 06:02:15

标签: swift

我的数组包含2个可能类的项,这些类是不同的,但每个类都有对象Date,它包含对象创建日期。

我想要的是,使用该日期变量排序数组,首先是最新的项目。 我还没有找到解决方案。

1 个答案:

答案 0 :(得分:1)

Subclass your two classes to one protocol, for example

protocol HasName {
    var name: String { get set }
}

class Person: HasName {
    var name: String = ""

    init(name: String) { self.name = name }
}

class Car: HasName {
    var name: String = ""

    init(name: String) { self.name = name }
}

Creating the array would look like this, in this case.

let someArray: [HasName] = [
    Car(name: "mercedes"),
    Person(name: "jason")
]

// you can then now use the `.sort()` array function.

someArray.sort(by: { $0.name > $1.name })