Pet*_*Pik 1 inheritance realm ios swift
正如你看到下面我有2张境界子Dog和Cag,它含有不同量的对象.我想检索这些对象并将它们一起添加到一个数组中,这样我就可以运行了sortPetByDate.但是我不能appendTheContentOf,因为事实
let cat = realm.objects(Cat)
let dog = realm.objects(Dog)
Run Code Online (Sandbox Code Playgroud)
回报Results<t>.
在多个继承对象上运行此方法的最佳方法是什么?
func sortPetByDate(array:[AnyObject]) -> [AnyObject] {
return array.sort{ ($0.0 as! Pet).date.compare(($0.1 as! Pet).date) == NSComparisonResult.OrderedAscending }
}
Run Code Online (Sandbox Code Playgroud)
我的继承类的示例:
class Pet: Object {
dynamic var date = NSDate()
dynamic var title = String()
}
class Dog: Pet {
}
class Cat: Pet {
}
Run Code Online (Sandbox Code Playgroud)
Realm 还不支持多态查询.
因此,您需要分别查询两种对象类型.
let cat = realm.objects(Cat)
let dog = realm.objects(Dog)
Run Code Online (Sandbox Code Playgroud)
根据您的用例,您可以将它们全部拉入内存并将它们附加到数组中[Object],然后简单地对该数组进行排序.这将如下所示:
var pets = [Object]()
pets += dogs.map { $0 as Pet }
pets += cats.map { $0 as Pet }
var sortedPets = pets.sort { $0.date.compare($1.date) == .OrderedAscending }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1782 次 |
| 最近记录: |