我终于设法让核心数据工作并开始理解它。到目前为止,我刚刚在一个基于窗口的应用程序中玩,启用了核心数据,在app委托文件中播放。
但是如何从app委托之外访问我的managedObjectContext,例如,如果我有一个UIView子类?
希望你能提供帮助,谢谢。
答案 0 :(得分:3)
尝试使用
[[[UIApplication sharedApplication] delegate] managedObjectContext];
要删除警告,请将委托作为您的实际AppDelegate;例如,
NSManagedObjectContext *context = [(YourAppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext];
编辑:
更改任何数据后,您需要保存它。这是我使用的方法:
NSManagedObjectContext *moc = [self managedObjectContext];
NSError *error;
if (![moc save:&error]) {
NSLog(@"Couldn't save current data in current method.");
}
根据需要更改日志语句。