2
我终于设法让核心数据工作并开始理解它。到目前为止,我刚刚在基于窗口的应用程序中启用了核心数据,并在应用程序委托文件中播放。managedObjectContext in Other View
但是我怎样才能访问我的managedObjectContext从外部的应用程序委托,例如,如果我有一个UIView子类?
希望你能帮忙,谢谢。
我终于设法让核心数据工作并开始理解它。到目前为止,我刚刚在基于窗口的应用程序中启用了核心数据,并在应用程序委托文件中播放。managedObjectContext in Other View
但是我怎样才能访问我的managedObjectContext从外部的应用程序委托,例如,如果我有一个UIView子类?
希望你能帮忙,谢谢。
尝试使用
[[[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.");
}
如果您认为合适,请更改日志语句。
[共享NSManagedObjectContext和其他服务类之间的iPhone/iPad的标签]可能的重复(http://stackoverflow.com/questions/3437033/sharing-nsmanagedobjectcontext-and-other-service-classes-between-iphone-ipad-标签) – willcodejavaforfood 2010-11-30 16:52:19
也可能值得一提的是,在与UIView子类共享managedObjectContext之前,您应该考虑两次。 UIView是固有的视图,不应该直接处理数据模型。您可能希望将上下文引用传递给另一个视图控制器,然后将特定托管对象的引用传递给视图,但不传递实际上下文。 – Rog 2010-11-30 19:01:01