Programmatically go back to previous ViewController in Swift Programmatically go back to previous ViewController in Swift ios ios

Programmatically go back to previous ViewController in Swift


Swift 3:

If you want to go back to the previous view controller

_ = navigationController?.popViewController(animated: true)

If you want to go back to the root view controller

_ = navigationController?.popToRootViewController(animated: true)

If you are not using a navigation controller then pls use the below code.self.dismiss(animated: true, completion: nil)


Swift 3, Swift 4

if movetoroot {     navigationController?.popToRootViewController(animated: true)} else {    navigationController?.popViewController(animated: true)}

navigationController is optional because there might not be one.


Swift 3

I might be late in the answer but for swift 3 you can do it this way:

override func viewDidLoad() {    super.viewDidLoad()    navigationItem.leftBarButtonItem = UIBarButtonItem(title: "< Back", style: .plain, target: self, action: #selector(backAction))    // Do any additional setup if required.}func backAction(){    //print("Back Button Clicked")    dismiss(animated: true, completion: nil)}