我一直在使用UIViewController来管理核心数据。现在,我想移动并更好地组织代码,但意识到NSmanagedobjectcontext仅在我的UIViewController类中正常工作。
尝试保存或获取其他类中的值会得到未解决的错误...
if ( ([context hasChanges]) ) {
NSError *error = nil;
if ( (![context save:&error]) ) {
return true ;
} else {
NSLog(@"Unresolved error %@,%@,%@",error,[error userInfo],[error localizedDescription],[error localizedFailureReason] );
return false ;
}
} else return false ;
获取...“未解决的错误(null),(null),(null),(null)”
我认为获取上下文存在问题...
- (NSmanagedobjectcontext *)managedobjectcontext {
NSmanagedobjectcontext *context = nil;
id delegate = [[UIApplication sharedApplication] delegate];
if ([delegate performSelector:@selector(managedobjectcontext)]) {
context = [delegate managedobjectcontext];
}
return context;
}
但是,如果我从ViewController传递NSmanagedobjectcontext对象并从此类保存或获取,仍然无法正常工作。因此,需要在UIViewController中进行“ [context save:&error]”。
我需要从自定义类访问NSmanagedobjectcontext来组织代码... 这是什么意思,有什么想法吗?