向tableView中添加不同的继承对象
Add different inheritance objects into tableView
我在 Realm 中创建了一个超类和两个子类类。然后我在 Cat
和 Dog
类 中创建了多个对象。那么我的问题是检索这些对象并将它们添加到 tableView 的最佳解决方案是什么。应该放在 tableView 中的所有信息都来自 SuperClass?我需要单独检索 Dog
和 Cat
并合并这些数组吗?如果是,那我该怎么做?或者在这种情况下最好的解决方案是什么?
class Pet: Object {
var myDate = NSDate()
var title = ""
var subTitle = ""
}
class Dog: Pet {
}
class Cat: Pet {
}
境界doesn't support polymorphic queries yet。所以不能查询realm.objects(Pet)
。但是两者的每个对象Results
都可以添加到一个数组中,其元素类型是超类。
因此您需要分别查询这两种对象类型。
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 }
我在 Realm 中创建了一个超类和两个子类类。然后我在 Cat
和 Dog
类 中创建了多个对象。那么我的问题是检索这些对象并将它们添加到 tableView 的最佳解决方案是什么。应该放在 tableView 中的所有信息都来自 SuperClass?我需要单独检索 Dog
和 Cat
并合并这些数组吗?如果是,那我该怎么做?或者在这种情况下最好的解决方案是什么?
class Pet: Object {
var myDate = NSDate()
var title = ""
var subTitle = ""
}
class Dog: Pet {
}
class Cat: Pet {
}
境界doesn't support polymorphic queries yet。所以不能查询realm.objects(Pet)
。但是两者的每个对象Results
都可以添加到一个数组中,其元素类型是超类。
因此您需要分别查询这两种对象类型。
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 }