在Realm migration

时间:2017-01-12 07:47:38

标签: ios swift realm

My Realm数据模型有一个User类,我为它添加了一个新属性:

dynamic var useImages: Bool = true

我在迁移块中没有做任何事情:

if oldSchemaVersion < 1 {
}

现在我希望在迁移之后,每个旧的User对象都会有一个新的useImages属性已设置为true (默认值)。但迁移后useImages属性设置为false

这应该发生吗?

如果是这样,迁移数据库时Realm是否有一种简单的方法可以使用新属性的默认值?或者我必须逐个在每个新属性的迁移块中执行此操作:

newObject!["useImages"] = true

这看起来很傻。还有更好的方法吗?

1 个答案:

答案 0 :(得分:2)

这是an unfixed bug,正如您所发现的那样,您必须手动循环对象并在迁移中设置默认值。

奇怪的是,目前有关迁移的Objective-C文档中记录了这一点,但不是Swift文档。