let second = segue.destination as? SecondViewController { second.message = message } if let third = segue.destination as? ThirdViewController { third.message = message } }
detectDestination(destination) } } private extension UIStoryboardSegue { func detectDestination(_ vc: UIViewController) -> UIViewController { switch vc { case let nav as UINavigationController: guard let top = nav.topViewController else { return nav } return detectDestination(top) case let tab as UITabBarController: guard let sel = tab.selectedViewController else { return tab } return detectDestination(sel) default: return vc } } }