我的iPhone应用程序需要迁移其核心数据存储,而且一些数据库非常庞大.Apple的文档建议使用"多次传递"来迁移数据以减少内存使用.但是,文档非常有限,并没有很好地解释如何实际执行此操作.有人可以指出我一个好的例子,或者详细解释如何实际解决这个问题的过程吗?
我已经阅读了所有可能的博客和关于这个主题的SO帖子 - 但仍然不确定发生了什么.我也读过这个但仍然没有运气 - 他们的默认迁移指南有点清楚但在我的情况下不起作用.我对iOS开发比较陌生,所以要温柔:)
情况如下:在我的应用程序(iOS)中名为Report的实体上,需要进行以下更改:
数据属性 - 已删除
title属性 - 已添加
reportId属性需要从Integer 16更改为String.这就是造成我问题的原因.我确实从当前版本创建了我的数据模型的新版本并修改了属性.
首先,这里是应用程序的一些方法:
- (NSManagedObjectModel *)managedObjectModel
{
if (__managedObjectModel != nil)
{
return __managedObjectModel;
}
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"App" withExtension:@"momd"];
__managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
return __managedObjectModel;
}
Run Code Online (Sandbox Code Playgroud)
然后
/**
Returns the persistent store coordinator for the application.
If the coordinator doesn't already exist, it is created and the application's store added to it.
*/
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
{
if (__persistentStoreCoordinator …Run Code Online (Sandbox Code Playgroud)