2013-11-08 4 views
1

Получаю уведомление, и после этого хочу перейти к моему ProfilViewController. Проблема в том, что я сейчас на VC1. Как я могу это сделать?Откройте push-уведомление и перейдите к просмотру

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { 
ProfileViewController* mainController = (ProfileViewController*) self.window.rootViewController; 
} 

Это моя функция, которая должна работать (говорит интернет), однако это не так. Я нахожусь на каждом запуске после нажатия на тот же контроллер вида VC1.

ответ

0

Код, который вы отправили, назначает текущий rootViewController временной переменной mainController, которая затем быстро удаляется, так как метод завершается, и ничего не ссылается на нее снова.

Я предполагаю, что вы имели в виду сделать что-то больше, как это:

ProfileViewController *mainController = [[ProfileViewController alloc] init]; 
self.window.rootViewController = mainController; 
+0

танки для быстрого реагирования. Теперь я получаю черный экран. И не так хорошо. Должен ли я импортировать приложение appDelegate или что-то еще? – user2675468

+0

Имеет ли ProfileViewController наконечник? Определено ли это в раскадровке? Выполняете ли вы работу awakeFromNib вместо initWithNibName? – jsd

+0

это определенно в раскадровке, и я нашел решение: 'UIViewController * viewController = [[UIStoryboard storyboardWithName: @" Main "bundle: nil] instantiateViewControllerWithIdentifier: @" ProfileView "];' НО это просто работает на iOS 6, и сегодня я протестируйте его в iOS 7, и там он не работает. – user2675468

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