2015-09-28 33 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 }