iOS TableView Reload после отклонения модального

В моем приложении я перечисляю основные записи данных в виде таблицы. Я хочу разрешить пользователю редактировать записи, используя подробный вид, представленный в виде формы. Я наблюдаю своеобразное поведение при редактировании записей.

Поток:

  1. Пользователь загружает tableview с записями. -за работой
  2. Пользователь выбирает запись для редактирования. -за работой
  3. Запись пользовательских прав в контроллере представления представлена ​​в виде модальной формы. -за работой
  4. Пользователь сохраняет изменения и отклоняет вид формы. -за работой
  5. В таблице показаны правильные изменения для ранее отредактированной записи. -за работой
  6. Пользователь повторяет шаги 2 – 4, чтобы выбрать другую запись для редактирования. -за работой
  7. В таблице показаны правильные данные для всех записей. -Не работает.

На шаге 7 табличное представление возвращает отображение первой отредактированной записи в исходное состояние. Последующие изменения записи приводят к возврату всех предыдущих изменений в исходное состояние. Если табличное представление отклонено и перезагружено, записи верны, показывая все изменения.

Я использовал [tableview reload] в методе ViewWillAppear в tableview, но, похоже, он не запускается, когда диспетчер просмотра модальной формы отклонен.

В моем контроллере tableviewcontroller:

-(void)viewWillAppear:(BOOL)animated { [self.tableView reloadData]; } 

В поисках, я не нашел решения и надеюсь, что кто-то может указать мне в правильном направлении.

Благодаря!

Когда вы представляете модальное представление, представление контроллера главного вида никогда не исчезает. Итак, после отклонения вашего модального вида viewWillAppear () не будет вызываться.

Вы можете попытаться реализовать пользовательскую функцию делегата в своем модальном представлении и установить его в главном контроллере представления, когда ваши данные будут обновлены, запустите функцию делегата, чтобы перезагрузить tableView, который находится на вашем основном viewController.

Понять, что такое функция делегата в iOS, и

как создать функцию делегата выглядит так:

  1. В вашем ModalView.h:

     // define the protocol for the delegate @protocol ModelViewDelegate <NSObject> - (void) didUpdateData; @end @interface ModalView: ViewController { //create a delegate instance id delegate; } // define delegate instance @property (nonatomic, assign) id <ModelViewDelegate> delegate; 
  2. В вашем modalView.m:

     @synthesize delegate; 

    а затем внутри вашей функции, поставьте функцию делегата на место, где вам нужно запустить, например:

     - (void) updateDataIntoDatabase{ .... //Update work done. [self.delegate didUpdateData]; //dismiss your modalView; } 

Итак, в вашем MainViewController.h,

 #import ModalView.h 

а также

 @interface ModalView: ViewController <ModelViewDelegate > { ... } 

Внутри MainViewController.m вы получите предупреждение о том, что вам нужно реализовать функцию делегата, которую вы уже объявили. Итак, установите функцию делегата и сделайте то, что вам нравится:

 - (void) didUpdateData{ [self.tableView reloadData]; } 

Не забудьте установить свой делегат modelView самостоятельно после создания экземпляра modalView. Если ваша функция делегата не будет запущена.

 modalView.delegate = self; 

Используйте блок завершения при запуске Modal viewcontroller:

 -(void)editModal:(id)sender { KDSecondViewController *secondVC = [[KDSecondViewController alloc] init]; [self presentViewController:secondVC animated:YES completion:^{ //-- reload your table view when user dismiss the modal view [self.tableView reloadData]; }]; } 
  • Получение строки для раздела indexPath в tableView
  • мигание изображений ошибка повторного использования таблицы просмотра Смотрите ссылку на видео -> http://www.youtube.com/watch?v=jwEsqjc9sNc&feature=youtu.be
  • Приложение iOS Fix TableView To Bottom Like Messages
  • UITableView не перезагрузит contentSize
  • tableview с галочкой и подробным раскрытием вместе
  • отправлять данные в DetailView из FavoriteTableView?
  • UITableViewCell исчезает при быстрой прокрутке
  • Swift: градиент на ячейке таблицы
  • IOS : попытка вставить нулевой объект из объектов '
  • Swift: не может вызывать 'reloadData' без аргументов
  • Вызов последней ячейки в TableView
  • Давайте будем гением компьютера.