我如何获得当前的活动视图控制器?

igr*_*ech 7 objective-c ios

我遇到了这个问题(错误是由一些用户的Flurry分析报告的,但我无法在我的设备和模拟器上重现它):

NSInvalidArgumentException: Application tried to present modally an active controller <CityViewController: 0x361b20>.

你对这个错误一无所知吗?它发生在你身上吗?

应用程序具有三个分层排序视图:当用户位于其中一个已知位置时,将自动显示具有位置列表和详细视图的主视图控制器(错误消息中提到的CityViewController).每当位置发生显着变化时,在打开新位置之前,首先会忽略详细视图以防止出现这种情况.但是,它显然没有帮助.

CityViewController也可以打开短信作曲家作为孩子.

小智 16

要获取当前可见的视图,您可以使用:

[self.navigationController visibleViewController];
Run Code Online (Sandbox Code Playgroud)


apa*_*ual 0

如果您在触发某些事件时启动模态视图,那么您可能会在该视图已经处于活动状态时尝试再次显示该视图......