UIManagedDocument迁移数据模型

ada*_*ale 4 migration core-data icloud uimanageddocument

我正在开发一个使用子类的iPhone应用程序,UIManagedDocument并将其文档存储在iCloud上.

在改变我的核心数据模型/方案(添加一个新的模型版本 - 就像我在过去几周里曾多次)之前,一切正常.我添加了一个新属性并更改了其中一个现有属性的数据类型.

现在,当我跑我的应用我似乎并没有能够加载我的文档用UIManagedDocument-openWithCompletionHandler:.我可以创建新文档并读/写.如果我将数据模型版本改回1,那么我可以阅读现有文档,但不能阅读新文档.

根据我的理解,我只对数据模型进行轻量级迁移,并且UIManagedDocument应该处理这个问题吗?

任何建议将不胜感激!

use*_*037 7

以下是基于我的理解:

注意 - 我没有尝试过iCloud,但我已经测试过非icloud并且似乎没问题.

UIManagedDocumentmanagedObjectModel自行配置和持久存储协调器

当需要进行迁移时,只需设置UIManagedDocument's'persistentStoreOptions

//Note - In this example, managedDocument is a UIManagedDocument property

self.managedDocument.persistentStoreOptions = [NSDictionary dictionaryWithObjectsAndKeys:
                                        [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
                                        [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];
Run Code Online (Sandbox Code Playgroud)

参考: