2

我曾经在某个时候开始进行 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];

这可以让应用程序运行,但是当我按下模拟器主页按钮时,控制台中会显示相同的错误。

这里可能出了什么问题?

4

1 回答 1

2

确保您的应用程序委托具有公共访问器方法。我会像这样在 AppDelegate.m 的顶部实现它


+ (MYAppDelegate *)sharedAppDelegate
{
    return (MYAppDelegate *) [UIApplication sharedApplication].delegate;
}

然后,您可以使用以下方式访问它:


[[MYAppDelegate sharedAppDelegate] managedObjectContext]

于 2011-01-19T06:59:54.727 回答