如何检查对象类型id是否具有viewcontrollers数组。 我需要检查我是否可以调用viewControllers。调用respondsToSelector是否正确?
while (![obj isKindOfClass:[UIViewController class]])
{
obj = [obj viewControllers].lastObject;
}
答案 0 :(得分:1)
if (class_getProperty([obj class], "viewControllers") != NULL)
您需要导入#import <objc/runtime.h>
答案 1 :(得分: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
}