几个UINavigation控制器,每个选项卡中,从我的应用程序委托的网点?(Several UIN

2019-10-29 13:37发布

这是一个问题,我的实现,这似乎是造成问题的更多讨论的。

我的应用程序有一个标签栏和导航控制器。 在每个选项卡,你可以去到的意见,直到您单击从子画面后面的标签栏将被隐藏。

我有一个导航控制器为每个在我的标签,这些被声明为我的应用程序代理网点,也有@class tab1navcontroller

一个典型的应用是。

MyAppDelegate *delegate = (MyAppDelegate *)[[UIApplication sharedApplication] 
       delegate];
[delegate.tab1NavController pushViewController:nextController animated:YES];

我没有在过去的许多问题,这一点,我相信我复制从书中我当时读的方法。

但是,我有一个讨论与colleuge几个月前谁说我应该只有一个导航控制器为我的应用程序。

当时我曾尝试和替换代码(如上图所示),并使用self.navigationcontroller代替,但是这导致的问题,我不记得他们是什么,但我放弃这些补丁。

今天发生了错误,当视图推和后迅速挖掘。 我也跑与僵尸分析器应用程序,这表明上面的代码是问题。

我相信上面的代码可能会造成泄漏。

我只是不知道用什么办法是最好的,从哪里走?

Answer 1:

作为@Dima的评论说,你的同事是错误的。 在我的应用我有一个tabbarController作为窗口RootViewController的。 既可以将其暴露在一个属性或其的viewController阵列或单个导航控制器。 您不能重复在多个标签导航控制器 - 它为每个或混合。 也就是说,在我的tabbarController,我有4个naviationControllers和一个普通的UIViewController子类。

标签栏控制器保留了其所有viewControllers和navigationControllers保留其所有viewControllers。 这就是说,你进入的问题,如果你有一个“分配”类型参照该被杀出的viewController。



文章来源: Several UINavigation controllers, one for each tab, as an outlets from my app delegate?