我应该如何防御性地编写可能的核心数据文件损坏或加载问题?

时间:2011-04-24 11:44:11

标签: iphone ios core-data iphonecoredatarecipes

我在我的iPhone应用程序中使用Core Data很好。

如果将核心数据数据加载到我的应用程序中(或者为此保存它)时出错,我会担心我应该采取什么方法。特别是一种可能的情况(不确定这种情况发生的几率,但更安全而不是遗憾),你的应用程序根本无法运行,因为它无法加载它的数据,并且重新启动应用程序会将其带回到同样请。

问题 - 如果试图处理这种情况,人们通常会做些什么?换句话说,用什么方法?到目前为止,唯一想到的是:

  1. 构建一个错误处理程序,提示用户是否要删除他们的数据并重新开始,以便说...我猜这会假设iPhone会将问题正确地报告给程序,因为错误< / p>

  2. 建议用户删除应用程序并重新安装(减少工作量)

  3. 其他?不确定是否有可能的“清理”或“修复”代码/提示,或者是否应该考虑尝试这个......

  4. 感谢

    PS。对于核心数据模式发生变化的应用程序的升级,我还没有理解/处理核心数据迁移。也许这只是上述问题仍然有效的另一种可能情况......或者不确定在代码中(以及用户消息)采用的方法将取决于它是迁移错误还是单独的错误。

1 个答案:

答案 0 :(得分:2)

更好的安全而不是抱歉很好,但不要在这上花很多时间。核心数据损坏极为罕见。即使在保存期间反复崩溃也很少会导致问题。

在任何情况下,处理损坏的商店的唯一方法是删除它。当应用程序关闭时,您可能希望设置某种标志来删除文件。检测到损坏的文件后,为用户提供删除存储并重新启动应用程序的选项。