本文主要是介绍controller跳转至下页,tabBarController.navigationController小错误,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近在做项目的时候犯了个低级错误,花了几个小时去找问题到头来发现是这么低级的错误,打脸! 分享出来希望对同样犯难的同志有帮助!
项目中的root首页是MainViewController.这里用Main表示。
从Main跳转到下一页是CarLockViewController这里用Carlock表示。
在Carlock中, 有个功能按钮 点击跳转到下一页 在下一页 我创建了一个UITabBarController tabbar上的第一个Controller是MineViewController
这里要开始说了,我写了一个set方法,在MineViewController中点击tableviewcell 就会回到Carlock中,并且调起Carlock中的set方法,将MineViewController中的数据传值到Carlock中并显示,这个时候我惊奇的发现,我的指针对象
CarLockViewController * Carlock = (CarLockViewControlle*)self.navigationController.viewControllers.firstObject;
Carlock指向的不是CarLockViewController,而是MainViewController。导致无法实现传值。
后来弄明白我的代码逻辑是是 avc->nav ->tab->bcc 我在bvc里面回到avc 肯定是[bvc.tab.nav pop]
这个时候avc在nav里面的index是倒数第二个 就是count-2 所以
使用如下代码改变一下思路,一切豁然开朗
NSArray *array =self.tabBarController.navigationController.childViewControllers;
CarLockViewController *carLockVC = array[array.count-2];
这篇关于controller跳转至下页,tabBarController.navigationController小错误的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!