UITableView принудительно обновляет sectionIndex без вызова reloadData

Я модифицирую свой UITableViewисточник данных из PHChange экземпляр, и это прекрасно работает. Что я не понимаю, так это то, что я не могу получить sectionIndex справа от UITableView обновить, если вы не перезагрузите весь UITableView с: reloadData,

Есть ли другой способ принудительно обновить sectionIndex справа от UITableView? Если я позвоню вручную: sectionIndexTitlesForTableView: Я подтверждаю, что я получаю свежие данные, однако старый раздел Index справа визуально не меняется, что мне и нужно.

Код:

PHFetchResultChangeDetails *changeDetails = [changeInstance changeDetailsForFetchResult:oldFetch];

if (changeDetails)
{
   PHFetchResult *fetchResultAfterChange = changeDetails.fetchResultAfterChanges;

   if (fetchResultAfterChange.count < 1)
   {
       [subArray removeObjectAtIndex:subIdx];

       dispatch_async(dispatch_get_main_queue(),^
       {
            NSIndexPath *path = [NSIndexPath indexPathForRow:subIdx inSection:idx];

            [self.albumsTableView deleteRowsAtIndexPaths:@[path] withRowAnimation:UITableViewRowAnimationNone];

            // Confirmed data is updating            
            NSLog(@"%@",[self sectionIndexTitlesForTableView:self.albumsTableView]);

            // Does nothing                    
            [self.albumsTableView setNeedsDisplay];
        });
    }
}

1 ответ

Решение

Попробуйте эту функцию

- reloadSectionIndexTitles

Этот метод дает вам возможность обновить индекс раздела после вставки или удаления разделов без перезагрузки всей таблицы.

Другие вопросы по тегам