Le mardi 2013 年 6 月 18 日 12:50:29 UTC+2,Appsido a écrit : 你好,
我在尝试在运行时创建新的持久性存储并使用这个新的持久性存储时遇到了问题。
要创建新的持久存储,我使用以下代码段
NSURL *modelUrl = [[NSBundle bundleForClass:[self class]] URLForResource:@"AppDataModel" withExtension:@"momd"];
NSManagedObjectModel *managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelUrl];
[[AppDelegate appDelegate] objectManager].objectStore = [RKManagedObjectStore objectStoreWithStoreFilename:@"AppStore"
usingSeedDatabaseName:nil
managedObjectModel: managedObjectModel
delegate:nil];
这工作正常,并在 iphone 设备文件系统上创建一个新的持久存储。
然后我创建一个新对象并使用以下代码段将其保存在持久存储中
MyEntity *f = [MyEntity object];
[f setValue:[NSNumber numberWithInt:70] forKey:@"id"];
[f setValue:@"New Family" forKey:@"name"];
NSError *error;
[[f managedObjectContext] save:&error];
if (error) NSLog(@"error > %@", error);
该对象保存在持久存储中,但不是新创建的,而是旧的。
那么是否可以基于相同的数据模型文件定义多个持久存储并在运行时从一个交换到另一个,并将数据保留在每个持久存储实例中。
谢谢您的支持。