将继承领域对象合并在一起

Merge inheritance realm objects together

如下所示,我有 2 个 Realm sub类 DogCag,它们包含不同数量的对象。我想检索这些对象并将它们添加到一个数组中,这样我就可以 运行 sortPetByDate。但是我不能 appendTheContentOf,因为

let cat = realm.objects(Cat)
let dog = realm.objects(Dog)

returns Results<t>.

在多个继承对象上运行此方法的最佳方法是什么?

func sortPetByDate(array:[AnyObject]) -> [AnyObject]     {
    return array.sort{ ([=11=].0 as! Pet).date.compare(([=11=].1 as! Pet).date) == NSComparisonResult.OrderedAscending }
}

我继承的例子类:

class Pet: Object {
    dynamic var date = NSDate()
    dynamic var title = String()
}

class Dog: Pet {
}

class Cat: Pet {
}

领域doesn't support polymorphic queries yet.

因此您需要分别查询这两种对象类型。

let cat = realm.objects(Cat)
let dog = realm.objects(Dog)

根据您的用例,您可以将它们全部拉入内存并将它们都附加到 [Object] 的数组中,然后简单地对该数组进行排序。 如下所示:

var pets = [Object]()
pets += dogs.map { [=11=] as Pet }
pets += cats.map { [=11=] as Pet }
var sortedPets = pets.sort { [=11=].date.compare(.date) == .OrderedAscending }