繁体   English   中英

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

[英]how should I defensively code for possible core data file corruption or loading issues?

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

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

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

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

  2. 向用户建议他们可能必须删除该应用程序并重新安装(减少工作量)

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

谢谢

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM