 <p>Try this:</p> <p>Start by casting <code>destinationViewController</code> to <code>UITabBarController</code> and then using the <code>viewControllers</code> property to access the first viewController in the tabBarController:</p> <pre><code>override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { let tabVc = segue.destinationViewController as! UITabBarController let navVc = tabVc.viewControllers!.first as! UINavigationController let chatVc = navVc.viewControllers.first as! ChatViewController chatVc.senderId = userID chatVc.senderDisplayName = "" } </code></pre>