4
我的应用程序当前有这个sqlite文件(让它命名为v1) 我想要做的是当我激活一个IBAction时,它会自动删除当前文件(v1) web服务和存储在新文件(v2)中的值,然后应用程序将使用新的sqlite文件(v2)更新/替换应用程序中的CoreData sqlite文件
有关如何实现的任何想法?
我当前的代码是在这里:
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator {
if (persistentStoreCoordinator != nil) {
return persistentStoreCoordinator;
}
NSURL *storeUrl = [NSURL fileURLWithPath: [[self applicationDocumentsDirectory] stringByAppendingPathComponent: @"test.sqlite"]];
NSLog(@"%@",storeUrl);
NSError *error = nil;
persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:nil error:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
return persistentStoreCoordinator;
}
ndfred我目前面临同样的问题。我会尝试你的步骤1-4,谢谢你的答案。删除或更新数据库是一种很好的方法,但不是当您拥有大型数据库时。在处理数千条记录和关系时,您会发现这可能非常缓慢。根据我的经验处理大型数据库时要更换db。 – CodeMilian