Как автоматически вызывать метод при переключении представлений в приложении TabBar с помощью одного ViewController - PullRequest
0 голосов
/ 27 октября 2010

Мое приложение использует UITabBarController с 4 вкладками. Каждая вкладка будет иметь UIWebView вместе с другими типами объектов. Когда приложение запускается, мне нужно вызвать метод для этого первого веб-просмотра, чтобы получить мой веб-контент.

У меня есть этот метод в моем viewdidLoad: [self executeSelectorInBackground: @selector (getAdvisory) withObject: nil];

Веб-контент на первой вкладке работает нормально. Я просто в недоумении, чтобы загрузить другие мои вкладки. Я думаю, что использовал бы оператор switch или if, но я не знаю, как определить, какое представление загружено.

Мне нужно сделать то же самое для остальных вкладок. Приложение имеет один контроллер представления. При установке действия с помощью кнопки все работает нормально. Я просто не знаю, как вызвать метод, когда загружается другое представление (касание вкладок).

Кроме того, какие методы лучше всего использовать для извлечения данных из сети, чтобы не связывать основной поток? Я прочитал, где NSOperation будет использоваться в этом сценарии. Это правильно? Если так, как бы я поступил так?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 24 апреля 2012

Я искал решение этой проблемы, и есть лучший способ.

Просто переопределите метод viewDidAppear и вставьте код, который вы хотите выполнить, когда представление появится!

В качестве примера следующий код вызовет myMethod.

-(void) viewDidAppear:(BOOL)animated {
 [self MyMethod];
}
0 голосов
/ 27 октября 2010

возможно, используя пользовательский делегат вашего UITabBar и метод:

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item

Отправляется делегату, когда пользователь выбирает элемент панели вкладок.

См. ссылка .

...