gpt4 book ai didi

objective-c - 使用 popToViewController : animated: 选择 View Controller 的更好方法

转载 作者:太空狗 更新时间:2023-10-30 03:59:47 27 4
gpt4 key购买 nike

考虑:

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

有没有更好的方法来获取要弹出的 View Controller 的索引?这样,如果我对导航堆栈执行某些操作,就不必返回并对其进行编辑。我正在考虑将它存储在 VC 上的 ivar 中或使用 #define 宏。有什么想法吗?

编辑:堆栈有四个 View Controller 。我使用这段代码从第四个弹出到第二个。

最佳答案

YourViewController *yourViewController;
for ( UIViewController *viewController in self.navigationController.viewControllers ) {
if ( [viewController isMemberOfClass:[YourViewController class]] ) {
yourViewController = (YourViewController*)viewController;
break;
}
}

[self popToViewController:yourViewController animated:YES];

当然,这是假设堆栈只有一个您要查找的 Controller 类的实例。如果有更多,我认为你可以选择将它存储在一个全局可访问的位置,如应用程序委托(delegate)。


注意 - 通常如果您在 UIViewController 中使用它,最后一行代码将是:

[self.navigationController popToViewController:seuleMainPage animated:YES];

关于objective-c - 使用 popToViewController : animated: 选择 View Controller 的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6065479/

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