При попытке добавить запись появляется следующая ошибка:
Серьезная ошибка приложения. исключение был обнаружен во время изменения основных данных обработка. Обычно это ошибка в рамках наблюдателя NSManagedObjectContextObjectsDidChangeNotification. Индекс 0 недопустим с userInfo (Нуль)
И что это. Я поставил точки останова во все методы делегата fetchedResultsContainer, которые я реализовал, но ничего не сломается.
Я проследил его до:
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:@"titleFirstLetter" cacheName:@"Root"];
"sectionNameKeyPath" - проблема. "titleFirstLetter" - это свойство переходного процесса, в котором я создал getter для моего подкласса NSManagedObject.
Здесь получатель:
-(NSString *)titleFirstLetter
{
[self willAccessValueForKey:@"titleFirstLetter"];
NSString *aString = [[self valueForKey:@"title"] uppercaseString];
NSString *stringToReturn = [aString substringWithRange:[aString rangeOfComposedCharacterSequenceAtIndex:0]];
[self didAccessValueForKey:@"titleFirstLetter"];
return stringToReturn;
}
Когда я изменяю sectionNameKeyPath на nil, он работает, но явно не тот, который я хочу. Он также работает, когда у меня есть заголовок, уже заполненный для моей модели, так что titleFirstLetter не возвращает нуль, хотя это не похоже на проблему. Если я сделаю строку произвольной, если она равна нулю, она все равно сработает.
Любая идея, что здесь?
UPDATE: Если я использую заголовок в разделеNameKeyPath вместо свойства переходного процесса, он не падает, но, очевидно, помещает каждый элемент в свой раздел. Так что это как-то связано с переходным свойством...
UPDATE2: Некоторое предварительное взломание с использованием постоянного свойства вместо переходного и никаких других изменений, похоже, работает очень хорошо, поэтому это выглядит ошибкой. У меня есть отчет об ошибке: # 8553064
Update3: Ну, поцарапай это. Использование постоянного атрибута не имело никакого значения. Сейчас я немного ухожу.
Спасибо!