gpt4 book ai didi

objective-c - 如何切换回已经加载的 UIViewController?

转载 作者:IT老高 更新时间:2023-10-28 11:36:34 26 4
gpt4 key购买 nike

我在 Storyboard上有一个 View ,它有一个按钮来执行某个操作。但是,要执行此操作,用户必须登录。按钮处理程序测试用户是否已登录,如果是,则执行一个 segue,如果不是,则执行另一个 segue。 NO segues 推送到登录 View Controller 。还有另一个 segue 连接回第一个 View Controller ,所以如果登录成功,用户可以从他们离开的地方继续。 View Controller 嵌入在导航 Controller 中。

问题是,'return' segue 正在加载 View Controller 的全新实例,而不是引用原始实例,因此我最终在内存中得到了空的界面元素和该 View Controller 的 2 个副本。

我怎样才能回到 View Controller 的原始实例?

最佳答案

假设您使用“push”意味着您正在使用 UINavigationController ,那么就可以使用下面的返回栈顶了。

[self.navigationController popToRootViewControllerAnimated:YES];

UIViewController *prevVC = [self.navigationController.viewControllers objectAtIndex:<n>];
[self.navigationController popToViewController:prevVC animated:YES];

弹出到 <n> 的特定级别是水平。

[self.navigationController popViewControllerAnimated:YES];

如果您只想在导航堆栈中弹出一层备份。

关于objective-c - 如何切换回已经加载的 UIViewController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10003562/

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