如何检查对象类型 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
}