2012-10-10 19 views
0

如何檢查對象類型id是否具有viewcontrollers數組。 我需要檢查我是否可以調用viewControllers。調用respondsToSelector是否正確?如何檢查對象是否有viewControllers數組

while (![obj isKindOfClass:[UIViewController class]]) 
{ 
obj = [obj viewControllers].lastObject; 
} 

回答

1
if (class_getProperty([obj class], "viewControllers") != NULL) 

需要導入#import <objc/runtime.h>

0

只有UINavigationController的,UISplitViewController,擁有的UITabBarController財產viewControllers。

if([obj isKindOfClass:[UINavigationController class]]) 
{ 
    if([obj viewControllers]) 
     //has view controllers 
} 
else if([obj isKindOfClass:[UISplitViewController class]]) 
{ 
    if([obj viewControllers]) 
     //has view controllers 
} 
else if([obj isKindOfClass:[UITabBarController class]]) 
{ 
    if([obj viewControllers]) 
     //has view controllers 
} 
相關問題