Ios 一个领域的数据模型更改需要迁移另一个领域。为什么?

Ios 一个领域的数据模型更改需要迁移另一个领域。为什么?,ios,swift,realm,Ios,Swift,Realm,我的应用程序中有两个领域数据库 一个随应用程序一起提供(用户只读),位于NSBundle.MainBundle中。 另一个被创建(为用户读写)并存储在documents目录中 但是,如果我在捆绑领域中更改模型,则用户创建的领域不起作用,并且表示需要迁移 这怎么可能?这是两个位于不同位置的不同领域 在使用3个不同领域(存储在同一位置,但名称不同)的虚拟项目中进行一些测试后,我可以在RealmBrowser中看到所有类名都包含在领域文件中。为什么它们是混合的?它们不应该是独立的数据库吗 虽然我们是其

我的应用程序中有两个领域数据库

一个随应用程序一起提供(用户只读),位于NSBundle.MainBundle中。 另一个被创建(为用户读写)并存储在documents目录中

但是,如果我在捆绑领域中更改模型,则用户创建的领域不起作用,并且表示需要迁移

这怎么可能?这是两个位于不同位置的不同领域

在使用3个不同领域(存储在同一位置,但名称不同)的虚拟项目中进行一些测试后,我可以在RealmBrowser中看到所有类名都包含在领域文件中。为什么它们是混合的?它们不应该是独立的数据库吗

虽然我们是其中一员,但主题如下: 创建多个领域文件与使用多个类创建“领域文件”有什么区别

谢谢你的澄清

问候,


Erik

默认情况下,应用程序二进制文件中定义的所有领域模型首次访问时,领域文件将在备份文件中创建“表”。这使得最终用户使用单一领域的常见情况非常简单。即使您使用的是多个领域,但您希望它们都共享同一组模型,这也非常简单,并且受此默认行为的支持

如果要使用多个域,每个域具有不同的模型,可以将模型传递到
域的
objectTypes
属性。配置

let config = Realm.Configuration(objectTypes: [MyClass.self, MyOtherClass.self])
let realm = try! Realm(configuration: config)
您可以在Realm文档的一节中阅读有关此功能的更多信息