我正在创建一个通用的 iOS 应用程序,它本质上是一个长订单页面。用户从购物车屏幕开始,然后通过一系列 4 个不同的屏幕(不同的 VC)线性前进(使用 UINavigationController)。一旦他们到达最后一个屏幕,新闻提交,我希望应用程序将用户带回购物车屏幕。但是,购物车屏幕不是根视图控制器,因此我无法使用[self.navigationController popToRootViewControllerAnimated:YES];
. 我应该如何做到这一点?人们通常如何做到这一点?
我的一些想法是:
1) 维护一个全局变量,即我要弹出的 VC?例如,每当用户进入购物车页面时,我都会将购物车 VC 设置为这个全局变量的值。
2)一旦我在最后一页,循环遍历导航控制器堆栈上的 VC 堆栈,然后当我找到我想要的类型之一(同一类)时,我会弹出它。
有一个更好的方法吗?我缺少一些神奇的 API 吗?人们在这种情况下会做什么?