Как отладить сбой Core Data при запросе на выборку - PullRequest
3 голосов
/ 22 декабря 2009

второй раз выполняю

[[MOC executeFetchRequest:request error:&error] lastObject];

после того, как сказал

NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:[NSEntityDescription entityForName:@"Login" inManagedObjectContext:MOC]];
NSError *error = nil;

сбой с EXC_BAD_ACCESS. Включено окно отладки, и похоже, что сбой происходит глубоко в стеке Core Data. Есть идеи, как мне отладить это, чтобы узнать, что происходит?

alt text

(на всякий случай вот ссылка на картинку http://tinypic.com/r/zmavph/6 Нажмите на картинку в ссылке и окно отладки увеличится)

Приветствия

Nik

Ответы [ 2 ]

3 голосов
/ 22 декабря 2009

EXC_BAD_ACCESS - ошибка памяти. Вы используете объект после его освобождения. Было бы трудно отладить это без (более) кода.

Вы пытались запустить анализатор (Xcode> Build> Build and Analyze)?

Вы также можете отключить выборку и поиск в массиве:

NSArray *fetchedObjects = [MOC executeFetchRequest:request error:&error]
if (!fetchedObjects) {
    NSLog(@"Error fetching Login: %@", [error localizedDescription]);
    abort();
}

NSManagedObject *loginObject = [fetchedObjects lastObject];
1 голос
/ 22 декабря 2009

У Apple есть очень полезная страница по отладке CoreData.

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