我无法完全掌握CoreData的条款。CoreData多个持久性存储协调器?
我为两个概念上分离的数据集创建了两个.xcdatamodeld
文件。
一个是关于缓存我从网上下载的静态数据。
一个是关于用户编写但尚未提交给服务器的临时帖子。
这两个数据集根本不需要相互了解。
我想要一个安装程序,当我尝试更新任何一个时,最少会让我头痛。
我需要两个单独的persistent store coordinator
吗?或两个单独的persistent store
?什么意思呢?
**编辑
我猜蒙迪建议像下面这样。
1 coordinator --- store1 --- model1
\
\
----- store2 --- model2
如何在代码中实现该目标?
我有以下的代码(从教程网站复制),并且结构更或类似
psc --- model1
\
\
--- store1
而不是
psc --- model1 --- store1
我现有的代码看起来像..
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"CachedURLResponse" withExtension:@"momd"];
_managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
_persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"test.sqlite"];
NSError *error = nil;
[_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error]
如何在一个协调器中实现模型的单独存储?
我可以在RDMS世界中为每个模型生活在不同的表格中。我稍后可以更新表格定义,并像我有两个单独的数据库一样容易地迁移数据。
我不知道在一个数据库中更新不同的表格(模型)是多么容易。
感谢您的建议。虽然我在将您的想法转换为代码时遇到了麻烦..但我已经编辑了该问题,请查看。 – eugene
看到我编辑的答案。 – Mundi