2012-02-28 3 views
0

UIViewControllerを継承するすべてのアクティブオブジェクトのリストを調べるにはどうすればよいですか?UIViewControllerサブクラスのインスタンスが存在するかどうかを確認する

MyViewControllerのインスタンスが存在するかどうかを知りたいと思います。理想的には私はこの情報をUIApplicationDelegateのコールバックで得ることができます(例えばapplication:didReceiveRemoteNotification :)。

私はnavigationController.viewControllersのようなログを記録しようとしました。私はまた、ナビゲーションコントローラにtopViewControllermodalViewControllerのプロパティを試しました。

+0

は、デバッグの目的のために、このですかあなたが何かを持っていないクラスタイプのためにそれをテストすることができますマインド? "存在する"とは、存在し、有効な参照があることを意味しますか?それとも別のことを意味していますか? – Jim

+0

@Jimデバッグ用です。はい、有効な参照があることを意味します。 – SundayMonday

答えて

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! 
} 
関連する問題