是否可以管理存储在多个文件中的数据?
假设我有几个文件data1.realm
, data2.realm
,data3.realm
等包含具有相同模型的对象。是否可以获得一个唯一的RLMRealm
实例来访问所有这些文件的数据?
如果没有,处理这种情况的最佳方法是什么?移民?
是否可以管理存储在多个文件中的数据?
假设我有几个文件data1.realm
, data2.realm
,data3.realm
等包含具有相同模型的对象。是否可以获得一个唯一的RLMRealm
实例来访问所有这些文件的数据?
如果没有,处理这种情况的最佳方法是什么?移民?
管理存储在不同领域之间的数据绝对是可能的,但它不会是自动的。您需要在自己的应用程序逻辑中管理对这些数据的访问。
RLMRealm
实例本身代表磁盘上的单个文件,不能动态创建以引用其他领域的组合。一旦将 anRLMObject
添加到 parent RLMRealm
,就不能将其移动/备份到另一个RLMRealm
表示不同文件的文件。
它很可能取决于您的特定用例,但最简单的解决方案是简单地在每个文件的单独RLMRealm
实例中查询您的对象,并将每个文件的结果RLMResults
对象放在NSArray
.
虽然数据不能在 Realms 之间直接共享,但您可以使用全局唯一的主键(例如NSUUID
)来指示不同 Realms 中的对象之间的关系。
RLMObject
如果您需要,如果您最终想要在 Realm 之间移动对象,也可以创建 s 的 Realmless 副本:
Dog *savedDog = [[Dog allObjects] firstObject];
Dog *copiedDog = [[Dog alloc] initWithValue:savedDog];