2015-09-28 36 views
0

我在Realm中创建了一个SuperClass和两个子类。然后我在CatDog类中创建了多个对象。我的问题是什么是检索这些对象并将它们添加到tableView的最佳解决方案。所有应该放在tableView中的信息都来自SuperClass?我是否需要单独检索DogCat并合并这些数组?如果是的话,我该怎么做?或者在这种情况下最好的解决方案是什么?在tableView中添加不同的继承对象

class Pet: Object { 
    var myDate = NSDate() 
    var title = "" 
    var subTitle = "" 
} 

class Dog: Pet { 
} 

class Cat: Pet { 
} 
+0

见我的回答你的问题在这里:http://stackoverflow.com/posts/32827599 – marius

回答

1

领域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 { $0 as Pet } 
pets += cats.map { $0 as Pet }