我正在使用storyboard
,我想知道是否有办法使用UINavigationController
从A-> B-> A-> B等进行导航。 UIViewControllers
是相同的,但每个中加载的信息不同。
我尝试使用segues,但问题是加载到类中的信息未保存。所以,当我做A-> B-> A并且我回到根时,root的信息是在2ºA中加载的信息。因为我正在使用storyboards
我不创建实例UIViewControllers
我认为这是问题所在,我只在[segue destinationViewController]
中使用prepareForSegue
。我认为一个解决方案是停止使用storyboards
并使用Xibs
,因为这样我每次加载时都会创建每个类的实例,这将解决我的问题。
我只是想知道是否有办法使用storyboard
执行此操作,因为更改为Xibs
需要大量工作。有什么建议吗?
答案 0 :(得分:0)
我从未尝试过A - > B - > A - > B之前。但我试过做A - > A - > A,这不起作用。 Storyboard的一个限制是你不能转到同一个VC的另一个实例。
然而,您可以做的非常简单 - 不是编写按钮来触发故事板中的segue,而是将其连接到方法并手动将新视图控制器推送到导航堆栈。
- (IBAction)buttonTapped:(id)sender {
UIViewController *viewControllerA = [self.storyboard instantiateViewControllerWithIdentifier:@"viewControllerAIdentifier"];
[self.navigationController pushViewController:viewControllerA];
}
请注意" prepareForSegue"不会在这里调用,因此您必须根据需要配置新的VC实例。