gpt4 book ai didi

ios - 如果我不在 iOS 中展开 Segue 会怎样?

转载 作者:行者123 更新时间:2023-11-29 01:26:53 25 4
gpt4 key购买 nike

我有一个应用程序,其中有超过 10 个 ViewController,并且有一个 MenuViewController 由所有 ViewControllers 触发。并且 MenuViewController 触发所有 ViewController。因此,在应用程序中,我不会展开 Segue,而是继续触发 Segue。

方案:

Scheme

它是否会产生任何副作用,例如内存不足或应用程序挂起之类的?如果我继续触发 segues 而不展开它们可以吗?

有人请帮忙吗???

最佳答案

如果您继续在导航堆栈上推送新的 View Controller 而不删除以前的 View Controller ,您最终将耗尽内存。如果你不想返回到之前的 View Controller ,你可以在每个 View Controller 中的推送转换完成后删除完整的导航历史 viewDidAppear::

- (void)viewDidAppear {
[super viewDidAppear];
self.navigationController.viewControllers = @[self];
}

或者,您可以通过设置导航 Controller 的委托(delegate)并实现 navigationController:didShowViewController:animated::将此逻辑放在中心位置

- (void)navigationController:(UINavigationController *)navigationController
didShowViewController:(UIViewController *)viewController
animated:(BOOL)animated {
navigationController.viewControllers = @[navigationController.viewControllers.lastObject];
}

关于ios - 如果我不在 iOS 中展开 Segue 会怎样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33895901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com