2013-07-24 3 views
3

Как получить доступ к текущему контроллеру представления вместо контроллера корневого представления, чтобы получить имя класса из AppDelegate.m?Access Current ViewController Имя класса из AppDelegate.m

В настоящее время ViewController A на самом деле является корневым представлением RootViewController.

Я провел здесь некоторое исследование, но мне удалось получить имя класса RootViewController вместо ViewController.

NSLog of the current ViewController class name from AppDelegate.m

Я следовал тому, что ответы, которые представили на вопрос, но он возвращает нуль для себя.

NSLog(@"Current View Controller Class Name: %@", self.window.rootViewController.navigationController.visibleViewController.class); 

или

NSLog(@"Current View Controller Class Name: %@", [self.window.rootViewController.navigationController.visibleViewController class]); 
+0

Вы используете UINavigationController? – random

+0

Какова ваша иерархия контроллера представления для свойства 'window' вашего класса' AppDelegate'. – Zen

+0

@random Да, я использую UINavigationController ... И потому, что я хотел сделать некоторую проверку текущего имени класса контроллера, когда получил уведомления. –

ответ

0

пытались ли вы это ...

NSLog(@"Current View Controller Class Name: %@",NSStringFromClass(self.window.rootViewController.navigationController.visibleViewController.class)); 
+0

Yup! Я пробовал это раньше, и из-за этого возвращает null, поэтому даже использовать NSStringFromClass также он обязательно вернет null. –

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