2012-03-13 4 views
0

При запуске приложения я могу отобразить представление предупреждения из контроллера просмотра, отображаемого при запуске. Если пользователь не нажимает кнопку «Отмена» в этом предупреждении, мне нужно сделать действие в другом контроллере представления.Выполнение действия в поле зрения контроллера после просмотра предупреждения

Как это осуществить? Я думал об использовании NSNotificationCenter, чтобы добавить наблюдателя в контроллер вида, который будет выполнять действие. Затем, с текущего контроллера, я отправлю уведомление. Проблема в том, что, когда это предупреждение отображается при запуске, я не знаю, где добавить наблюдателя для уведомления, поскольку viewDidLoad: еще не вызывается в контроллере представления.

Есть ли у кого-нибудь идеи, как это сделать?

ответ

3

Набор делегат предупредительного зрения, где вы создаете его, а затем реализовать:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 

Если buttonIndex != alertView.cancelButtonIndex, то вы должны сделать свое действие.

+1

Проблема в том, что мне нужно будет изменить выбранную вкладку в моем контроллере панели вкладок. Это легко осуществить, но мне также нужно вызвать метод в новом контроллере представления. Итак, когда 'buttonIndex! = AlertView.cancelButtonIndex', я изменю панель вкладок и вызову метод в контроллере представления, к которому я только что изменился. – simonbs

+0

Затем обратитесь к контроллеру представления на этой вкладке (можете получить его через свойство 'viewController' контроллера табуляции, если хотите) и вызвать на нем метод. – mattjgalloway

+0

Конечно. Я должен был подумать об этом. Получение контроллера вида через контроллер панели вкладок не представляет проблемы. Большое спасибо за Вашу помощь! – simonbs