我只是添加 TabBarController + NavigationController。在此之前一切正常,但现在当我从模式调用 presentingViewController 时,出现此错误:
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[UITabBarController tableViewListado]:无法识别的选择器发送到实例
我得到的是“UITabBarController”,而不是接收预期的对象(ViewController),我应该在使用 TabBar 和 Nav 控制器时以某种不同的方式获取呈现控制器吗?
没有 TabBar/Nav 我使用的是这个:
ViewController *parentView = (ViewController *)[self presentingViewController];
[parentView something];
编辑:
只要发现如果我这样做它就可以工作,但不要认为这实际上是最好的方法:
ViewController *parentView = (ViewController *)[(UINavigationController *)[((UITabBarController *)[self presentingViewController] ) selectedViewController] topViewController] ;
[parentView something];