如何检查对象是否具有视图控制器数组



如何检查对象类型 id 是否具有视图控制器数组。我需要检查是否可以调用视图控制器。调用响应选择器是否正确?

while (![obj isKindOfClass:[UIViewController class]])
{
obj = [obj viewControllers].lastObject;
}
if (class_getProperty([obj class], "viewControllers") != NULL)

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

Only 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
 }

最新更新