Ошибка: «Идентификатор ключевого пути не найден в объекте» - PullRequest
0 голосов
/ 30 марта 2012

Я получаю эту ошибку: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'keypath objectID not found in entity <NSSQLEntity Pair id=2>'

когда я использую «objectId» в качестве дескриптора поиска и sectionNameKeyPath для NSFetchedResultsController.

Я хочу, чтобы каждый объект приводил к новому разделу.

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"objectID" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];

NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:@"objectID" cacheName:nil];
aFetchedResultsController.delegate = self;
self.fetchedResultsController = aFetchedResultsController;

Любые советы?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 09 февраля 2014

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

0 голосов
/ 15 апреля 2012

Возможно, потому что objectId и objectID - это разные строки. Проверьте это.

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