我终于成功地让核心数据工作起来,开始了解它。到目前为止,我只是在启用了核心数据的基于窗口的应用中,在应用委托文件里面玩。
但是我如何从app delegate之外访问我的managedObjectContext,比如说我有一个UIView子类?
尝试使用
[[[UIApplication sharedApplication] delegate] managedObjectContext];
要想摆脱警告,请将委托人投为您的实际AppDelegate;例如。
NSManagedObjectContext *context = [(YourAppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
EDIT:
当你改变任何数据后,你需要保存它。我用的方法是这样的。
NSManagedObjectContext *moc = [self managedObjectContext];
NSError *error;
if (![moc save:&error]) {
NSLog(@"Couldn't save current data in current method.");
}
更改你认为合适的日志声明。