具有相同属性名称的模型throws error:具有在其类层次结构中多次声明的属性

时间:2015-08-17 04:32:01

标签: realm

我有一个项目显示两种类型的文档,一个来自本地存储,另一个来自dropbox,所以我有两个Model,XXDocument和DBDocument。两种模型都具有名称,扩展名和上次更新等属性。我认为这是一个常见的情况,但在开始领域抛出和错误:

由于未捕获的异常'RLMException'而终止应用程序,原因:'对象'DBDocument'具有在其类层次结构中多次声明的属性:'name','lastUpdated','extension''

处理此问题的正确方法是什么?我是否为每个属性添加模型名称前缀?

修改

只是为了清楚一些事情。我试图使用超类来保存公共字段,并且还使用两个没有超类的分离类,这两种情况都不起作用。

案例1: XXDocument - 名称 - 延期 - lastUpdated

DBDocument - 名称 - 延期 - 最近更新时间 - 转 - filepath

案例2:

案例1:

BaseDocument - 名称 - 延期 - lastUpdated

XXDocument - > BaseDocument // XXDocument类现在没有属性

DBDocument - > BaseDocument - 转 - filepath

1 个答案:

答案 0 :(得分:2)

如果已在DBDocument的超类中声明属性,则不应在DBDocument中再次声明它们,因为Realm遍历类的类层次结构以收集属性集模特班。