我已经开始使用iPhone开发了,我正在尝试在我的应用程序中实现核心数据。
在执行FetchRequest的过程中,我被困在以下代码中......
MYAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context = [appDelegate managedObjectContext];
显示调试时出现以下错误...
Program received signal: "EXC_BAD_ACCESS"
当我运行应用程序时,它只会崩溃。
当我在调试模式下按“继续”按钮时,会再次出现此错误。
我尝试将代码更改为此.....
NSManagedObjectContext *context = [(MyAppDelegate *)[[UIApplication sharedApplication\ delegate] managedObjectContext];
这可以让应用程序运行,但是当我按下模拟器主页按钮时,控制台中会显示相同的错误。
这里可能出现什么问题?
答案 0 :(得分:2)
确保您的应用程序委托具有公共访问器方法。我会像你这样在AppDelegate.m
的顶部实现它
+ (MYAppDelegate *)sharedAppDelegate
{
return (MYAppDelegate *) [UIApplication sharedApplication].delegate;
}
然后您可以使用以下方式访问它:
[[MYAppDelegate sharedAppDelegate] managedObjectContext]