У меня есть UITableView с NSFetchedResultsController.
Когда контроллер уходит с экрана, я следую предложению уйти в отставку как полученный делегат контроллера. Поэтому я полностью полагаюсь на контекстное уведомление и reloadData.
По сути, я анализирую уведомление и устанавливаю флаг needsReload = YES, когда во вставленном / обновленном / удаленном объекте есть соответствующая сущность и свойство для таблицы. В viewWillAppear я проверяю эту переменную и вызываю reloadData.
Однако NSFetchedResultsController имеет порядок сортировки по атрибуту NSManagedObject «pname».
Когда в другом контроллере представления я обновляю pname, скажем, с 0name до Zname, я могу перехватить уведомление об изменении контекста, и таблица будет правильно перезагружена при следующем viewWillAppear.
Проблема в том, что я ожидал, что ячейка будет идти внизу из-за порядка сортировки, но вместо этого она остается обновленной вверху, я полагаю, потому что reloadData обновляет только видимую ячейку. Как я могу это решить?