我正在使用CoreData应用程序,正如我们所知,在保存实体或从上下文中删除实体时,我们总是进行此检查
NSError *error;
if (![context save:&error]) {
// Replace this implementation with code to handle the error appropriately.
// abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
}
我在我的应用程序中很多地方都有这个代码,苹果的评论说"用代码替换此实现以正确处理错误.abort()导致应用程序生成崩溃日志并终止。您不应在运输应用程序中使用此功能,尽管它在开发过程中可能很有用。
我无法想出一些事情
1)向用户显示什么消息?
2)我应该要求用户向我发送错误报告吗?
3)我应该使用中止吗?
答案 0 :(得分:1)
1)完全取决于你。请务必简单地解释存在问题并且无法保存他们的数据。这种情况应该非常罕见。
2)也取决于你,但大多数用户不知道如何做到这一点。如果您实现逻辑以将错误通过电子邮件发送给应用程序内部,那将会有所帮助。
负责3)绝对不是(不清楚“你不应该在运输申请中使用这个功能”?)。保存失败不会使您的应用程序无法继续,因为数据仍可在内存中使用。
替代3)完全取决于你。如果应用审核小组抓住它,您将被拒绝。但是,这种保存失败的可能性不大可能发生在开发之外。