确定是否存在UIViewController子类的实例

时间:2012-02-28 23:42:58

标签: objective-c ios logging uiviewcontroller uikit

如何检查继承UIViewController的所有活动对象的列表?

我想知道MyViewController的实例是否存在。理想情况下,我可以在UIApplicationDelegate的回调中获取此信息(例如application:didReceiveRemoteNotification :)。

我尝试记录像navigationController.viewControllers这样没有运气的东西。我还在navigationController上尝试了topViewControllermodalViewController属性。

1 个答案:

答案 0 :(得分:2)

如果你知道你的rootViewController是一个UINavigationController的事实,你可以遍历viewcontrollers数组并测试它的类类型

BOOL success = NO;
NSArray *viewControllersArray = self.navigationController.viewControllers;
for (id vc in viewControllersArray)
{
    if ([vc isKindOfClass:[MyViewController class]])
        success = YES; // Found it!
}