2012-02-28 4 views
0

UIViewController를 상속 한 모든 활성 개체 목록을 검사하려면 어떻게해야합니까?UIViewController 하위 클래스의 인스턴스가 있는지 확인하십시오.

MyViewController 인스턴스가 있는지 알고 싶습니다. 이상적으로는 UIApplicationDelegate (예 : application : didReceiveRemoteNotification :)의 콜백에서이 정보를 얻을 수 있습니다.

나는 로커가없는 navigationController.viewControllers과 같은 로깅을 시도했습니다. 또한 navigationController에 topViewControllermodalViewController 속성을 시도했습니다. 당신이 당신의 rootViewController가 UINavigationController가하다는 사실을 알고있는 경우

+0

에 대한 테스트이 디버깅 목적인가, 아니면 당신이 다른 뭔가를 할 수 마음? "존재한다"는 의미는 존재하고 유효한 참조를 가집니까? 아니면 뭔가 다른 것을 의미합니까? – Jim

+0

@Jim 디버깅 용입니다. 그래, 나는 유효한 참조가 있음을 의미한다. – SundayMonday

답변

2

, 당신은 viewcontrollers의 배열을 반복하고 클래스 타입

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