其他视图中的managedObjectContext

问题描述 投票:2回答:1

我终于成功地让核心数据工作起来,开始了解它。到目前为止,我只是在启用了核心数据的基于窗口的应用中,在应用委托文件里面玩。

但是我如何从app delegate之外访问我的managedObjectContext,比如说我有一个UIView子类?

iphone objective-c ipad core-data nsmanagedobjectcontext
1个回答
3
投票

尝试使用

[[[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.");
}

更改你认为合适的日志声明。

© www.soinside.com 2019 - 2024. All rights reserved.