Uiviewcontroller 如何查找当前加载的viewcontroller?

Uiviewcontroller 如何查找当前加载的viewcontroller?,uiviewcontroller,uitabbarcontroller,detailview,Uiviewcontroller,Uitabbarcontroller,Detailview,我有一个带有2个Tabbaritem的tabBarController应用程序。 每个视图控制器都包含tableView。 在didSelectRowAtIndexPath上,我正在加载带有以下代码行的detailview: detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController_iPad" bundle:[NSBundle mainBundle]]; detailV

我有一个带有2个Tabbaritem的tabBarController应用程序。 每个视图控制器都包含tableView。
在didSelectRowAtIndexPath上,我正在加载带有以下代码行的detailview:

detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController_iPad" bundle:[NSBundle mainBundle]];

detailViewController.selectedDetail = [selectedDetail valueForKey:@"cardText"];
detailViewController.selectedCardTitle2 = [selectedCardTitle valueForKey:@"cardTitle"];
detailViewController.selectedRow2 = [self.tableViewInbox indexPathForSelectedRow];
detailViewController.detailCardsArray = allCards;
detailViewController.detailAllFetchedCards = allFetchedCards;

detailViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[inboxViewController presentModalViewController:detailViewController animated:YES];
问题是,当加载detailView(实际显示的viewController)并切换到另一个选项卡项时,detailView不会关闭。这意味着,如果调用didSelectRowAtIndexPath,我将无法再次加载detailView

在我的AppDelegate中,我有这个方法

- (void)tabBarController:(UITabBarController *)tabBarController  didSelectViewController:(UIViewController *)viewController {  
在此方法中,我将检查detailView是否为实际显示的viewController。
如果是,并且tabBarItem发生更改,则关闭DetailView

现在我的问题是:如何检查detailView是否已加载(当前显示的视图)?

告诉我们detailView成为显示视图的子视图。显示视图控制器将更新其
modalViewController
属性以指向显示视图。此外,模态视图的
parentViewController
也将更新为指向当前视图

因此,您可以检查这些属性,以查看是否显示模式视图。

告诉我们detailView将成为显示视图的子视图。显示视图控制器将更新其
modalViewController
属性以指向显示视图。此外,模态视图的
parentViewController
也将更新为指向当前视图

因此,您可以检查这些属性以查看是否显示模态视图