如何从导航堆栈中弹出上一个视图控制器?

Sla*_*vic 1 memory-leaks uinavigationcontroller viewcontroller ios swift

我使用导航控制器从一个视图推送到另一个视图,但没有弹出任何我推送的视图。因此,在加载视图时,我想从堆栈中弹出上一个视图。

推送视图的代码:

var identities = [String]()

identities = ["A", "B", "C", "D", "E"]

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {

    let vcName = identities[indexPath.row]
    let viewController = storyboard?.instantiateViewController(withIdentifier: vcName)
    self.navigationController?.pushViewController(viewController!, animated: true)

}
Run Code Online (Sandbox Code Playgroud)

用于弹出视图的测试代码(不是我想要的):

self.navigationController?.viewControllers.remove(at: 0)
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激。

解决了:

@DonMag帮助我逐步了解了该行代码的正确使用和放置。

Don*_*Mag 6

确实简单得多:

self.navigationController?.popViewController(animated: true)
Run Code Online (Sandbox Code Playgroud)