Embed a UIViewController in a UINavigationController Programmatically

We know how to embed a ViewController in a NavigationController in Storyboard. However, I came across a scenario where I had to initiate it programmatically. The code: let viewController = MyViewController() let nav = UINavigationController(rootViewController: viewController) self.navigationController?.present(nav, animated: true, completion: nil)