1

是否可以管理存储在多个文件中的数据?

假设我有几个文件data1.realm, data2.realm,data3.realm等包含具有相同模型的对象。是否可以获得一个唯一的RLMRealm实例来访问所有这些文件的数据?

如果没有,处理这种情况的最佳方法是什么?移民?

4

1 回答 1

1

管理存储在不同领域之间的数据绝对是可能的,但它不会是自动的。您需要在自己的应用程序逻辑中管理对这些数据的访问。

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];
于 2016-12-21T14:55:50.157 回答