2015-10-03 2 views
0

Я использую ниже код для получения активного ViewControllerСравнить UIViewController с классом

AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; 
    UIViewController *controller = appDelegate.window.rootViewController; 

Я хочу, чтобы найти, что это ViewController (контроллер), какой из моего класса, для этого использовать ниже код, но не работает

My classes: 
First.m , First.h , First.xib 
Second.m , Second.h , Second.xib 
Third.m , Third.h , Third.xib 

if([controller isKindOfClass:[First class]]) 
.... 
+0

Мое предположение: Ваш контроллер rootview может связывать в UINavigationController или anyother ... Если да, то выше код выиграл» t work .. – Mani

+0

Да, я использую табуляцию и uinavigation – SajjadZare

+0

Итак, вы должны получить правильный экземпляр, а затем проверить 'isKindOfClass:'. он будет работать – Mani

ответ

0

Если контроллер зрения корень вашего приложения является UINavigationController вы можете сделать это:

UIViewController *controller = ((UINavigationController*)appDelegate.window.rootViewController).visibleViewController; 

Точно так же, если это UITabBarController вы можете сделать это:

UIViewController *controller = ((UITabBarController*)appDelegate.window.rootViewController).selectedViewController; 

Наконец,

if ([controller isKindOfClass:[First class]]) { 

}