2012-04-06 5 views
0

У меня есть UIViewController, который вызывает метод на одном объекте, в котором при определенном условии отображается UIAlertView. Когда пользователь нажимает кнопку в UIAlertView, я хочу, чтобы UIAlertView исчез (что в данный момент), а затем UIViewController за ним, чтобы перейти к другой сцене. Моя проблема заключается в том, что UIAlertView - это одноточечный класс, а segue должен выполняться на UIViewController.Вызов segue в одном классе из другого класса

В Singleton.m:

-(void)alertView:(UIAlertView *)alertView 
clickedButtonAtIndex:(NSInteger)buttonIndex { 
    NSString *buttonTitle = [alertView buttonTitleAtIndex:buttonIndex]; 
    if ([buttonTitle isEqualToString:@"Button!"]) { 
     [self performSegueWithIdentifier: @"Segue!" sender: self]; 
    } 
} 

Мой вопрос: что же я заменить self с, который позволит мне уведомить UIViewController, что настало время, чтобы сделать переход?

ответ

0

«Уведомлять» - хорошее слово. :) Я предлагаю, чтобы контроллер просмотра прослушивал NSNotification, что синглтон будет публиковать сообщения, когда он хочет, чтобы произошел переход. Затем код perform... переместится в метод контроллера вида, который вызывается в ответ на уведомление.

+0

Спасибо, что сработало отлично! Я был совершенно незнакомым с 'NSNotification', поэтому я просто посмотрел быстрый учебник о том, как их использовать, и ваша идея сработала! Еще раз спасибо: D –

Смежные вопросы