My Realm数据模型有一个User
类,我为它添加了一个新属性:
dynamic var useImages: Bool = true
我在迁移块中没有做任何事情:
if oldSchemaVersion < 1 {
}
现在我希望在迁移之后,每个旧的User
对象都会有一个新的useImages
属性已设置为true
(默认值)。但迁移后useImages
属性设置为false
。
这应该发生吗?
如果是这样,迁移数据库时Realm是否有一种简单的方法可以使用新属性的默认值?或者我必须逐个在每个新属性的迁移块中执行此操作:
newObject!["useImages"] = true
这看起来很傻。还有更好的方法吗?
答案 0 :(得分:2)
这是an unfixed bug,正如您所发现的那样,您必须手动循环对象并在迁移中设置默认值。
奇怪的是,目前有关迁移的Objective-C文档中记录了这一点,但不是Swift文档。