开发者社区> 问答> 正文

NSManagedObjectContext不保存或获取不同于UIViewController自定类

我一直在使用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来组织代码...所以我想知道怎么做或者知道这里面的原因

展开
收起
南南唐语 2019-11-30 17:04:53 1026 0
1 条回答
写回答
取消 提交回答
  • [context save:&error]在代码中正常工作得很好。这就是为什么错误为空的原因。问题仅在于你的逻辑落后:实际上保存成功时,你将转到“ false”分支。

    2019-11-30 17:06:49
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
继承与功能组合 立即下载
对象的生命期管理 立即下载
建立联系方法之一 立即下载