Обновите UIViewControllers после переключения выбора на панели вкладок
-
22-07-2019 - |
Вопрос
У меня есть два контроллера просмотра на панели вкладок, которые оба могут редактировать данные.Поэтому мне нужно вызывать функцию reload_data всякий раз, когда пользователь делает переключение на панели вкладок.Как я могу перехватить переключатель или внешний вид viewcontroller.Каким-то образом viewDidAppear не вызывается при переключении панели вкладок.И я не хочу использовать делегат TabBarController для этого, потому что затронуты несколько ViewControllers (и я не могу установить их все в качестве делегата).Каков хороший способ решить эту проблему?
например ,это не сработало:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:YES];
[self reloadData];
}
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:YES];
[self reloadData];
}
Решение
Если вы используете Interface Builder, убедитесь, что класс для ViewController, который вы ожидаете перезагрузить, определен (выберите ViewController в IB, затем CMD-4, убедитесь, что class определен как класс, в котором вы хотите вызывать viewWillAppear и viewDidAppear).
Если вы не используете IB, опубликуйте свой код для инициализации / вызова ViewController.