我想将原语列表添加到现有模型中,但我得到一个例外 注意:这完成了所有它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
:
由于以下错误,需要迁移:
- Property&#39; Foo.idList&#39;已被选为。
我可以通过将@Required
添加到模型中的新字段来解决此问题,但我不确定列表是否仍然为空/ null。
将原始列表添加到模型中的正确方法是什么,并为此进行了正确的迁移?
答案 0 :(得分:2)
实际上,您的迁移是正确的。如果您不希望列表能够包含null
作为值(考虑它是RealmList<Integer>
,其中Integer
可以为null),则应添加{{ 1}}注释。