Вы можете напрямую присвоить идентификатор TargetViewController из раскадровки и затем загрузить из раскадровки, а затем нажать или представить его.
как добавить этот метод в TargetViewController
class func viewController () -> TargetViewController {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
return storyboard.instantiateViewController(withIdentifier: "yourIdentifer") as! TargetViewController
}
и далеесобытие касания
let vc = TargetViewController.viewController()
self.navigationController?.pushViewController(vc, animated: true)
РЕДАКТИРОВАТЬ
После прочтения комментариев вы получили четкое представление о ваших требованиях
Действие кнопки с ViewController1
, Вы хотитеперейти к TargetViewController
но при нажатии назад вы захотите вернуться к viewController 3
Сначала выберите определенный индекс
self.tabBarController?.selectedIndex = 2
После этого вам нужно захватить UINavigationController
let nav = (self.tabBarController?.viewControllers?[2] as? UINavigationController)
затем нажмите ViewController
let vc = TargetViewController.viewController()
nav?.pushViewController(vc, animated: true)
Примечание. Не забудьте добавить идентификатор для раскадровки в TargetViewController
, а также добавить метод class func viewController () -> TargetViewController
в TargetViewController
Надеюсь, это полезно