我想将原始列表添加到现有模型中,但出现异常。
注意:这全部完成和Kotlin

这是模型:

open class Foo(
    @PrimaryKey var id: Int = 0
) : RealmObject()

现在,我要添加以下字段:
var idList: RealmList<Int> = RealmList()

这可能是一个空列表,所以我用一个空白的RealmList(用于非原始列表字段)对其进行了初始化。

我的迁移如下所示:
schema.get("Foo")
        ?.addRealmListField("idList", Int::class.java)

运行该应用程序时,我收到RealmMigrationNeededException:



我可以通过在模型中的新字段中添加@Required来解决此问题,但是我不确定列表是否仍然可以为空/ null。

将原始列表添加到模型的正确方法是什么,为此的正确迁移是什么?

最佳答案

实际上,您的迁移是正确的。如果您不希望列表能够包含null作为值(考虑它是RealmList<Integer>,其中Integer可以为null),则应添加@Required批注。

10-08 16:41