RealmDB 自定义字段
RealmDB custom fields
我可以在 Realm 模型中定义一个未知类型的字段吗?
示例 类:
public class Model1 extends RealmObject {
@PrimaryKey
private String _id;
private ? field1;
}
public class Model2 extends RealmObject {
@PrimaryKey
private String _id;
}
public class Model3 extends RealmObject {
@PrimaryKey
private String _id;
}
现在,Model1 中的field1 可以是Model2 或Model3 类型,这将在运行 时间内确定。有什么办法可以实现吗?
不,你不能那样做。 Dalinaum 的评论是正确的。
实现它的一种方法是;
public class Model1 extends RealmObject {
@PrimaryKey
private String _id;
private Model2 model2;
private Model3 model3;
}
public class Model2 extends RealmObject {
@PrimaryKey
private String _id;
}
public class Model3 extends RealmObject {
@PrimaryKey
private String _id;
}
并通过以下方式访问它;
if (model1.getModel2() == null) {
Model2 model = model1.getModel2()
// do something
} else {
Model3 model = model1.getModel3()
// do something
}
我可以在 Realm 模型中定义一个未知类型的字段吗?
示例 类:
public class Model1 extends RealmObject {
@PrimaryKey
private String _id;
private ? field1;
}
public class Model2 extends RealmObject {
@PrimaryKey
private String _id;
}
public class Model3 extends RealmObject {
@PrimaryKey
private String _id;
}
现在,Model1 中的field1 可以是Model2 或Model3 类型,这将在运行 时间内确定。有什么办法可以实现吗?
不,你不能那样做。 Dalinaum 的评论是正确的。
实现它的一种方法是;
public class Model1 extends RealmObject {
@PrimaryKey
private String _id;
private Model2 model2;
private Model3 model3;
}
public class Model2 extends RealmObject {
@PrimaryKey
private String _id;
}
public class Model3 extends RealmObject {
@PrimaryKey
private String _id;
}
并通过以下方式访问它;
if (model1.getModel2() == null) {
Model2 model = model1.getModel2()
// do something
} else {
Model3 model = model1.getModel3()
// do something
}