У меня есть проблема UITableViewController не удается перерисовать обновленную ячейку после удаления дочернего представления.
Вот что происходит. После изменения данных в дочернем представлении контроллер родительского представления перезагружает массив исходных данных и запускает [tableView reloadData] через PostNotification. После этого запуска я использую popViewControllerAnimated , чтобы вернуться к родительскому UITableViewController (это выталкивает дочернее представление из стека и раскрывает контроллер на один уровень вверх).
Однако мои обновленные данные не отображаются в родительском контроллере представления! Согласно отладчику, метка ячейки была обновлена, но видимая метка не изменилась. Однако, если я прокручиваю таблицу по экрану, мгновенно перемещая обновленную ячейку из поля зрения, когда она появляется снова, метка обновляется!
Я также пытаюсь вызвать [tableView reloadData] через viewWillAppear , но проблема все еще сохраняется.
Вот некоторая дополнительная информация, которая может оказаться полезной. У меня есть 3 представления, структурированные так:
1/ SettingsViewController : UITableViewController
2/ -- UserView : UITableViewController
3/ ---- UserDetailsView : UIViewController <UIActionSheetDelegate>
Я вызываю UserDetailsView изнутри UserView следующим образом:
UserDetailsView *userDetailsView = [[UserDetailsView alloc] init];
[self.navigationController pushViewController:userDetailsView animated:YES];
Если я вернусь к самому верхнему контроллеру (SettingsViewController), а затем загрузлю проблемный контроллер (UserView), все будет нарисовано правильно. Эта проблема возникает только при возврате из дочернего представления.
Заранее благодарю за ваши предложения.