swift 中的 noHistory 等价物,没有以前的视图控制器

noHistory equivalent in swift, no previous view controller

我有 ListViewController 和其中的 tableView。 当我点击一个项目时,会显示新的视图控制器,列表视图控制器中的表视图也会显示在其中等等。 例如 ListViewController -> ExpensesViewController -> VideoViewController。

无论我在哪里,我都想在按下后退箭头时返回到 ListViewController。我只想在切换到下一个视图控制器后从堆栈中删除前一个。

您的 UINavigationController 有一个数组 UIViewController。 所以你只需要删除这个数组中的控制器。

据我了解,当您点击 VieoViewController 中的后退按钮时,您想返回到 ListViewController。 因此,在推送 VideoViewController 之后,您必须从导航控制器的数组中删除 ExpensesViewController(例如 VideoViewControllerviewDidAppear

var viewControllers = navigationController?.viewControllers
viewControllers?.remove(at: 0)
self.navigationController?.setViewControllers(viewControllers!, animated: false)