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]; }]; } 
  • Ищете расширяемое табличное представление для преобразования моей древовидной структуры JSON
  • В Swift данные таблицы TableView, загруженные из JSON, загружаются в 80% случаев
  • Добавление строки в TableView iOS
  • Нажатие события в UITableView
  • Ошибки со статическими таблицами
  • UITableView Checkmarks исчезают при прокрутке
  • Простое отображаемое значение Tableview
  • iOS - панель просмотра таблицы с UITextView, не изменяющая размер
  • iOS Google Родное объявление не доступно для кликов
  • Как добавить изображение в строку действий в виде таблицы?
  • Получить события из EKEventStore и показать в таблицеView в Swift iOS8
  • Interesting Posts

    Программно изменяющиеся контроллеры просмотра без контроллера навигации Swift

    Как получить indexPath из UITableViewCell, щелкнув subview ячейки – Получение несовместимого предупреждения типа указателя

    Преобразование записанного звукового файла в формат flac (xamarin ios)

    Одновременное скачивание и воспроизведение песни, которая собрана вместе из нескольких URL-адресов

    Разбор JSON с использованием исключения AFNetworking 2.0

    Размер файла HLS для iOS

    как создать json в объективе-c

    Сделать UIView постоянно исчезать и выходить – завершение: ^ {возможный бесконечный цикл?

    CMAccelerometerData class Vs. устаревший класс UIAccelerometer

    Как установить эффект роста для воспроизведения видео в этом представлении?

    Когда я использую prepareForSegue для передачи значения целевому контроллеру, возникают некоторые проблемы

    Как я могу создать две версии приложения, и пусть оба имеют одинаковые настройки?

    xcrun Невозможно скопировать в / var / folders

    Получить полный текст запроса на поиск из Spotlight?

    Могу ли я получить доступ к файлам, используемым для внешнего двоичного хранилища в Core Data?

    Давайте будем гением компьютера.