将继承领域对象合并在一起
Merge inheritance realm objects together
如下所示,我有 2 个 Realm sub类 Dog
和 Cag
,它们包含不同数量的对象。我想检索这些对象并将它们添加到一个数组中,这样我就可以 运行 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 }
如下所示,我有 2 个 Realm sub类 Dog
和 Cag
,它们包含不同数量的对象。我想检索这些对象并将它们添加到一个数组中,这样我就可以 运行 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 }