0
避免数据丢失是我的应用程序中的一个关键问题。所以我需要提前保存并经常保证最小的损失,并在出现问题时立即通知。如何处理CoreData保存错误?
不幸的是,这导致很多if (![context save:&error]) {
处理到处都是。以更集中的方式清理这件事我想实现一个的NSManagedObjectContext类别与方法,如这样的:
- (BOOL)saveNotify:(NSError **)error
{
NSError *saveError;
if (![self save:&saveError]) {
NSDictionary *userInfo = @{@"error" : saveError};
[NSNotificationCenter.defaultCenter postNotificationName:NSManagedObjectContextSaveErrorNotification object:self userInfo:userInfo];
if (error != NULL) *error = saveError;
return NO;
}
return YES;
}
现在,我可以在一个更一般的方式监听通知,并抛出一个警告用户如果由于某种原因保存失败。
这是一个好方法还是有更好的方法来处理这个问题?
第二个问题是实际发生的情况。要求用户退出应用程序并重新启动有点复杂,因为他们需要通过任务切换器关闭应用程序。