managedObjectContext save失败,错误为null

cre*_*der 5 iphone core-data nsmanagedobjectcontext ios

什么会导致错误返回null,这就是我所拥有的

    + (BOOL)saveContext:(NSManagedObjectContext *)context
    {
      NSError *error = nil;
      if (![context save:&error]) 
      {
        DLog(@"ERROR %@, %@", error, [error userInfo]);
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Sorry"

                                                        message:@"Error Saving the Data" 
                                                       delegate:nil 
                                              cancelButtonTitle:@"OK"
                                              otherButtonTitles:nil];

        [alert show];
        [alert release];

        return NO;
      }
    return YES;
    }
Run Code Online (Sandbox Code Playgroud)

上面的方法是一个类方法,我不知道为什么错误没有任何信息.

这个方法就是这样调用的

[HSCoreDataUtility saveContext:self.managedObjectContext];

当一个modalViewController关闭并返回到NavigationController时,所以我需要保存上下文,但它通过一个错误,现在我想我已经知道它没有被保存的原因,但不应该错误给出我有一个线索?但是日志只是说"ERROR(null),(null)"

有什么想法吗

小智 8

我忍受了痛苦并最终幸存下来.;)

经过长时间的调试,我在自定义对象验证方法中意识到,在某些情况下,我返回NO并且没有初始化错误.

如果您有此问题,请检查验证对象方法.那可能也是你的问题.


Mar*_*rra 7

只有这样我才能看到这种情况发生在你是否正在传递nil上下文.我会在该类方法的顶部放置一个逻辑炸弹来防范这种情况.

嗯,实际上,我不会为这么少量的代码创建一个类方法; 但问题仍然存在.检查nil上下文.