var secVC = SecondVC()
и
let storyboard = UIStoryboard(name: “SecondVC”, bundle: Bundle(identifier: “SecondBundle”))
let controller = storyboard.instantiateInitialViewController() as? SecondVC
Это разные экземпляры.
Вы можете назначить делегата на контроллер, как
controller.delegate = self
Это вызовет реализованные методы делегата в First View Controller.
Полный код.
let storyboard = UIStoryboard(name: “SecondVC”, bundle: Bundle(identifier: “SecondBundle”))
if let controller = storyboard.instantiateInitialViewController() as? SecondVC {
//Assign Delegate
controller.delegate = self
//It's not init, but an assignment only, as per your code.
controller.initSecondVC(data)
self.present(controller, animated: true, completion: nil)
}
Еще одна вещь, не показывать Посмотреть в ViewDidLoad
. Вы можете поместить код в какую-нибудь кнопку или в метод задержки.