iphone - 在一般应用程序和特定应用程序中,如何验证SQLite文件是否为有效的核心数据存储?

标签 iphone sqlite core-data backup corruption

我想在加载我的核心数据存储区(SQLite文件)之前先进行验证,这样,如果有任何损坏,该应用程序将不会崩溃和烧毁。 使用iPhone SDK,有没有一种方法可以验证SQLite文件(1)通常没有损坏,以及(2)更具体地说,SQLite文件是否与该应用程序的一种可能的数据存储版本匹配? 第二部分很重要,因为我构建了一个备份系统,该系统允许用户将备份的SQLite文件加载到应用程序中以替换当前数据存储。

最佳答案

TC的答案可能是最简单的。但是您也可以查看其元数据,这将使您都知道A)它具有Core Data元数据,B)它的实体的哈希值是什么,然后可以用来确认您具有与这些哈希值匹配的模型。

您可以通过+[NSPersistentStore metadataForPersistentStoreWithURL:error:方法访问元数据而无需加载商店。

关于iphone - 在一般应用程序和特定应用程序中,如何验证SQLite文件是否为有效的核心数据存储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3398038/

相关文章:

android - 如何连接到设备的 sqlite 数据库

ios - Swift 中适用于 iOS 9 和 iOS 10 的 CoreData 堆栈

ios - NSFetchedResultsController 与 NSFetchedResultsController UILocalizedIndexedCollat​​ion

javascript - 在智能手机上加载时禁用 JavaScript 脚本

ios - 如何使用链接中的图像创建 UIImageView?

iphone - 如何在 iPhone 中将 HTML 读取为 XML

java - 无法将 db 的区域设置更改为 'en_US'

sql - 来自同一个表的多个 INNER JOIN

objective-c - 使用 CoreData 关系计算摘要

ios - xcode - 从另一个类调用方法后刷新 TableView