У меня проблема с управлением разделами в UITableView, поддерживаемом базовыми данными, с использованием NSFetchedResultsController.
В моем табличном представлении может быть 2 раздела, первый - статический и отображается условно.Второй раздел заполняется выбранным контроллером результатов.Я использую следующее, чтобы определить, сколько разделов для отображения.Если я удаляю все извлеченные объекты во втором разделе, я ожидаю, что этот раздел также будет удален.
- (NSInteger)numberOfSectionsInTableView:(UITableView *)aTableView
{
NSInteger numberOfSections = 0;
if (self.locationEnabled) numberOfSections++;
if ([[[self.fetchedResultsController sections] lastObject] numberOfObjects]) numberOfSections++;
return numberOfSections;
}
Проблема этого подхода заключается в том, что этот метод источника данных информирует таблицу о том, что он долженотображать 1 раздел, потому что не осталось выбранных объектов, но удаление последнего объекта никогда не вызывало удаление раздела с помощью методов делегата менеджера полученных результатов.
Как вызвать удаление раздела, чтобы избежать получения несогласованности UIKitошибки?
Редактировать : Я должен указать, что для sectionNameKeyPath установлено значение nil, поскольку результаты не имеют ничего общего с разделом by.