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;
}
現在,我可以在一個更一般的方式監聽通知,並拋出一個警告用戶如果由於某種原因保存失敗。
這是一個好方法還是有更好的方法來處理這個問題?
第二個問題是實際發生的情況。要求用戶退出應用程序並重新啓動有點複雜,因爲他們需要通過任務切換器關閉應用程序。