处理几个Realm文件

时间:2014-11-16 15:03:54

标签: ios objective-c realm

我是Realm.io的新手,并提出以下问题:

使用多个realm文件并连续在同一个线程中访问它们。所有这些.realm文件都必须具有相同的RLMObjects吗?

 NSString *Path_1 = @"....path1/realmfile_1.realm";
 NSString *Path_2 = @"....path2/realmfile_2.realm";

 RLMRealm *realm_1 = [RLMRealm realmWithPath:Path_1];
 RLMObject_1 *Object_1_ToAdd = [[RLMObject_1 alloc] init];
 [realm_1 beginWriteTransaction];
 Object_1_ToAdd.property_xy = @"bla1";
 [realm_1 commitWriteTransaction];

 RLMRealm *realm_2 = [RLMRealm realmWithPath:Path_2];
 RLMObject_2 *Object_2_ToAdd = [[RLMObject_2 alloc] init];
 [realm_2 beginWriteTransaction];
 Object_2_ToAdd.property_ab = @"bla2";
 [realm_2 commitWriteTransaction];

两个.realm文件(即realmfile_1.realm和realmfile_2.realm)是否都需要RLMObjects(即RLMObject_1和RLMObject_2)?

migration-block调用(见下文)在所有realmfiles中创建所有RLMObjects是否正确?如果是 - 为什么?????

到目前为止,我的代码中的所有RLMObject都放在所有.realm文件中 - 为什么???或者这是领域的工作方式吗?

感谢您的任何帮助!

SetSchemaVersion:

[RLMRealm setSchemaVersion:1 withMigrationBlock:^(RLMMigration *migration, NSUInteger oldSchemaVersion) { }

下图显示了一个领域文件的领域浏览器屏幕截图(见下文)(另一个看起来相同!)。有一种方法是一个文件包含RLMObject_1而另一个文件包含RLMObject_2 ??我如何设置RLMObject定义类??

enter image description here

1 个答案:

答案 0 :(得分:2)

默认情况下,Realm会将每个RLMObject子类视为数据模型的一部分。这样做是为了大大简化开发,因为开发人员只需要声明他们的模型一次。

空表在Realm文件中占用的空间非常小,并且创建起来很便宜,这就是Realm以这种方式工作的原因。

如果您决定只为每个领域创建相关表格,您可以构建自己的RLMSchema,但在这种情况下我们无法正式支持您,因为它不是公共API的一部分