NSObjectInaccessibleException CoreData не может выполнить ошибку - все еще перепутано - PullRequest
1 голос
/ 25 января 2012

Я вижу, что эту проблему задавали немного, но все ответы, кажется, указывают на причину, пытающуюся обновить объект, когда контекст был удален.Я не думаю, что делаю это, но я получаю сообщение об ошибке, поэтому я в замешательстве (по общему признанию, я неуверен в управлении хранением и ссылками для начала).содержит пользовательские настройки как записи значений ключа.Одним из них является адрес электронной почты.

UserPreference *prefEmailAddress;

@property (nonatomic, retain) UserPreference *prefEmailAddress;

В моем классе в моем методе ViewWillAppear я создаю запрос на выборку, получаю ссылку на значение адреса электронной почты и устанавливаю значение в текстовом поле пользовательского интерфейса.Это отлично работает.

NSArray *prefs = [context executeFetchRequest:request error: &error];

if ([prefs count] > 0) {
  prefEmailAddress = [prefs objectAtIndex:0];
  [prefEmailAddress setValue:emailAddress.text forKey:@"prefValue"];
}

Однако в другом методе, когда я пытаюсь сохранить потенциально измененный текст текстового поля обратно на объект, я получаю описанный выше сбой.

Я просто делаю это;

NSLog(@"Addr: %@",emailAddress.text);
//    [prefEmailAddress setValue:emailAddress.text forKey:@"prefValue"];

Последняя строка вызывает исключение.Похоже, объект prefEmailAddress все еще должен существовать, но, очевидно, его нет.

Спасибо за любые подсказки по этому поводу.

1 Ответ

0 голосов
/ 23 января 2013

Я решил, удалив

[fetchRequest setFetchBatchSize:<INT_VALUE>];

, если это есть в вашем коде при получении запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...