2017-05-04 129 views
0

我已经创建了一个新的领域对象(B),并在现有的领域对象(A),引用新的对象B的新领域。在我的迁移文件,我有这样的:领域迁移与新的外国领域

if(!realm.getSchema().contains("B")) { 
    realm.getSchema().create("B").addField("name", String.class).addField("resId", int.class); 
} 

RealmObjectSchema schemaA = realm.getSchema().get("A"); 

if (!schemaA .hasField("referenceToB")) { 
    schemaA .addField("referenceToB", B.class); 
} 

它不工作,我也得到:java.lang.IllegalArgumentException异常:境界不支持此场:B型

我怎么可以在引用创建这个新领域到B我迁移文件?

回答

1

根据文档,要添加链接字段,您需要使用realmObjectSchema.addRealmObjectField()而不是addField()

if (!schemaA.hasField("referenceToB")) { 
    RealmObjectSchema bSchema = schema.get("B"); 
    schemaA.addRealmObjectField("referenceToB", bSchema); 
} 
+0

非常感谢你。 –