Я пишу приложение iOS, которое предоставляет собственный интерфейс с вкладками в кучу WebViews, отображающий контент с моего сайта. Я хочу, чтобы повторно нажав ту же вкладку, чтобы обновить страницу, поэтому я реализовал (выбор слов я парень Java ...?) UITabBarDelegate
в моем ViewController и есть это:Загрузите содержимое вкладки iOS только один раз
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
AbstractPageController *otherController = (AbstractPageController *)[[self viewControllers] objectAtIndex:[[tabBar items] indexOfObject:item]];
[otherController loadPage];
}
который загружает страницу в соответствующий WebView.
И, конечно же, чтобы загрузить страницу в первую очередь (при запуске), у меня есть это в моей AbstractPageController
- (void)viewDidLoad
{
[super viewDidLoad];
[self loadPage];
}
Как вы можете себе представить, это приводит к странице загружается дважды, если выбрана новая вкладка. Как мне избежать этого? Прямо сейчас я думаю, что лучшая идея - удалить loadPage
звонок от viewDidLoad
, но это будет означать, что при запуске страница не загрузилась (правда?). И это кажется взломанным особым случаем. Что вы порекомендуете?
Из связанной документации 'loadView':« Вы никогда не должны вызывать этот метод напрямую » –