オブジェクト タイプ ID に viewcontrollers 配列があるかどうかを確認するにはどうすればよいですか。viewControllers を呼び出せるかどうかを確認する必要があります。RespondsToSelector を呼び出すのは正しいですか?
while (![obj isKindOfClass:[UIViewController class]])
{
obj = [obj viewControllers].lastObject;
}
オブジェクト タイプ ID に viewcontrollers 配列があるかどうかを確認するにはどうすればよいですか。viewControllers を呼び出せるかどうかを確認する必要があります。RespondsToSelector を呼び出すのは正しいですか?
while (![obj isKindOfClass:[UIViewController class]])
{
obj = [obj viewControllers].lastObject;
}
if (class_getProperty([obj class], "viewControllers") != NULL)
インポートする必要があります#import <objc/runtime.h>
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
}