Выполните действие в контроллере представления после представления предупреждения

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

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

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


person simonbs    schedule 13.03.2012    source источник


Ответы (1)


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

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

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

person mattjgalloway    schedule 13.03.2012
comment
Проблема в том, что мне нужно будет изменить выбранную вкладку в моем контроллере панели вкладок. Это легко сделать, но мне также нужно вызвать метод в новом контроллере представления. Итак, когда buttonIndex != alertView.cancelButtonIndex я изменю панель вкладок и вызову метод в контроллере представления, на который я только что перешел. - person simonbs; 13.03.2012
comment
Затем создайте ссылку на контроллер представления на этой вкладке (вы можете получить к нему доступ через свойство viewController контроллера вкладки, если хотите) и вызовите для него метод. - person mattjgalloway; 13.03.2012
comment
Конечно. Я должен был подумать об этом. Получить контроллер представления через контроллер панели вкладок не проблема. Спасибо большое за помощь! - person simonbs; 13.03.2012