作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我真的很纠结这个。我正在尝试创建事件核心数据库的备份。根据 Apple 的说法,最好的选择不是使用文件管理器,而是使用 migratePersistentStore 方法。但是我真的不明白这一点。我的 AppDelegate 中有我的 PersistentStoreCoordinator。因此,如果我正在迁移持久性存储,我的协调器会在成功正确移动后丢失它吗?那么这家商店现在只是在新的位置,而不是在旧的地方了?那么,您是否有任何示例程序代码可以说明我的应用程序如何仍然可以使用原始副本继续运行?
或者我不能只使用具有相同前缀的文件管理器复制所有文件而不是迁移?!如此简单......
最佳答案
您可以创建一个单独的 NSPersistentStoreCoordinator 仅用于迁移,并继续将常规的用于 CoreData 堆栈。您也可以使用 NSMigrationManager 进行迁移:
NSMigrationManager* manager = [[NSMigrationManager alloc] initWithSourceModel:sourceModel
destinationModel:targetModel];
BOOL migratedSuccessfully = [manager migrateStoreFromURL:sourceStoreURL
type:type
options:nil
withMappingModel:mappingModel
toDestinationURL:destinationStoreURL
destinationType:type
destinationOptions:nil
error:error];
此外,我不确定您是否可以在打开数据库时迁移,可能您需要锁定它或其他东西。
关于ios - 核心数据 : How to correctly use migratePersistentStore to create a backup copy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25816687/
我是一名优秀的程序员,十分优秀!