iPhone: невозможно получить доступ к NSManagedObjectContext с помощью appDelegate - PullRequest
2 голосов
/ 19 января 2011

Я недавно начал разработку 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];

Это позволяет запустить приложение, но когда я нажимаю кнопку «Домой» в Simulator, та же ошибка отображается в консоли.

Что здесь может пойти не так?

1 Ответ

2 голосов
/ 19 января 2011

Убедитесь, что у вас есть общедоступный метод доступа для вашего делегата приложения.Я бы реализовал это так, в верхней части вашего AppDelegate.m


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

Затем вы можете получить к нему доступ, используя:

<code>
[[MYAppDelegate sharedAppDelegate] managedObjectContext]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...