Если я правильно понимаю, у вас есть экземпляр SecondViewController
с secondView
, подключенный к экземпляру UIWebView
в Интерфейсном Разработчике. То, что вы хотите сделать, это вызвать goToPage
для этого экземпляра SecondViewController
из RedDragonAppDelegate
. (В частности, обратите внимание, что я говорю о случаях из них - я считаю, что это основная проблема.)
В tabBarController:didSelectViewController:
, когда вы делаете SecondViewController * sv = [[SecondViewController alloc] init];
, вы создаете новый экземпляр SecondViewController
и можете вызывать его метод goToPage
, но sv
- это не тот экземпляр экземпляра SecondViewController
, который появляется в Интерфейсном Разработчике secondView
подключен к UIWebView
(то есть, когда вы создаете новый экземпляр из SecondViewController
, ivar secondView
сбрасывается и кажется nil
, но я не знаю, что это гарантированно будет nil
).
Что вы, вероятно, (*) хотите сделать, это добавить IBOutlet SecondViewController *sv;
к @interface
из RedDragonAppDelegate
, убедитесь, что у вас есть экземпляр RedDragonAppDelegate
в Interface Builder, подключите новый IBOutlet sv
из RedDragonAppDelegate
к экземпляру SecondViewController
в Интерфейсном Разработчике и удалите строку в tabBarController:didSelectViewController:
, которая определяет и инициализирует sv
.
(*) Я не уверен на 100% в этом, потому что я не делаю вещи для iPhone, и я не знаю, как ваши различные виды / объекты / и т.д. расположены в файлах XIB / NIB, но если все в одном файле XIB / NIB, я почти уверен, что он будет работать.