Обновите UIViewControllers после переключения выбора на панели вкладок

StackOverflow https://stackoverflow.com/questions/1650545

Вопрос

У меня есть два контроллера просмотра на панели вкладок, которые оба могут редактировать данные.Поэтому мне нужно вызывать функцию 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top