У меня есть навигационное приложение на основе CoreData, и я пытаюсь выяснить, почему оно выходит из строя.
У меня есть иерархия, которая состоит из 3 контроллеров представления, все они связаны отношениями coredata, как это.
TableViewA = отношение = TableViewB = отношение = TableViewC
Я, честно говоря, новичок в основных данных, и я думаю, что моя проблема заключается в контроллере извлеченных результатов. У меня есть одно в TableViewA, а другое в TableViewB, и, как бы глубоко я ни углублялся, консоль всегда ссылается на методы контроллера результатов, извлеченные из TableViewB, после сбоя. Это проблема?
Что конкретно происходит, если я запускаю свое приложение и углубляюсь в иерархию одной записи, назовем ее Record1, я могу удалять вложенные записи в моем сердце. Ушел! нет проблем!
Но когда я возвращаюсь к TableViewA и углубляюсь в другую запись, давайте назовем эту запись Record2 и попытаемся удалить ее подзаписи, сбои моего приложения, при этом консоль ссылается на этот код из TableViewB.
- (void)controllerWillChangeContent:(NSFetchedResultsController *)controller {
// The fetch controller is about to start sending change notifications, so prepare the table view for updates.
[self.tableView beginUpdates];
}
Когда я вхожу в отладчик, конкретный метод, с которым у него всегда есть проблема:
if (![x.managedObjectContext save:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
Мне кажется, что мне нужно только подтверждение моего идиотизма с CoreData.
О, и сколько ManagedObjectContexts я должен иметь в приложении этого типа. Мне сказали, что у меня должны быть отдельные для добавления контента, которые затем должны реинтегрироваться в основной. Это правда?
Спасибо!