gpt4 book ai didi

iOS:内存中的导航 Controller 对象

转载 作者:行者123 更新时间:2023-11-28 22:49:55 25 4
gpt4 key购买 nike

我正在开发一个 iOS 导航 Controller 应用程序并且有疑问。我到处都找不到。当我创建导航 Controller 并使用多个其他 View Controller 进行导航时,这些 View Controller 如何准确地存储在内存中,当我们单击后退按钮等时,导航 Controller 如何能够导航到前一个 Controller 。有人可以解释一下吗?

谢谢。

最佳答案

这个概念就像堆栈一样简单。你推一个物体,你也可以弹出它。当你使用

[navigationController pushViewController:viewController animated:YES];

它将对象(此处为 viewController)推送到 viewController 堆栈,您可以使用 [navigationController viewControllers];

你可以检查现有的 Controller :

NSLog(" View Controller %@", [navigationController viewControllers]);

viewControllers 是一个 NSArray,所有对象都被插入其中。因此对特定 Controller 的引用始终存在,因此您可以导航回任何 View Controller

单击后退按钮会将 topViewController 从数组中弹出。popToRootViewController 将 u 弹出到 viewController 数组中添加的第一个 Controller 。

您还可以使用

返回数组中的特定 Controller
[self.navigationController popToViewController: animated:];

你需要从已经提到的 NSArray(viewControllers) 传递参数,例如:

[self.navigationController popToViewController:[[navigationController viewControllers] objectAtIndex:1] animated:YES];

希望对你有帮助。快乐的编码:)

关于iOS:内存中的导航 Controller 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12257955/

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