Swift 如何实例化ViewController并在显示的ViewController顶部保留导航栏?

Swift 如何实例化ViewController并在显示的ViewController顶部保留导航栏?,swift,uistoryboardsegue,Swift,Uistoryboardsegue,在选项卡栏控制器中,我有多个ViewController。我想从ProfileTVC访问MediaDetailTableViewController,并在不使用segues的情况下向其传递一些数据。 故事板的模式如下所示: 选项卡栏 1.导航->新闻提要->MediaDetailTableViewController 2.导航->剖面电视 我想从ProfileTVC实例化MediaDetailTableViewController并向其传递一些数据。 使用下面显示的方法,它传递数据,但它松开了顶

在选项卡栏控制器中,我有多个ViewController。我想从
ProfileTVC
访问
MediaDetailTableViewController
,并在不使用segues的情况下向其传递一些数据。
故事板的模式如下所示:

选项卡栏
1.导航->新闻提要->MediaDetailTableViewController
2.导航->剖面电视
我想从ProfileTVC实例化MediaDetailTableViewController并向其传递一些数据。
使用下面显示的方法,它传递数据,但它松开了顶部的导航栏,因此我无法返回到
ProfileTVC
。此外,实例化MediaDetailTableViewController大约需要2秒钟

//code inside ProfileTVC
 if let selectedIndex = tableView.indexPathForSelectedRow,
        selectedIndex.section != 0 && selectedIndex.section != 1 {
 let mediaDetailTVC = storyboard?.instantiateViewController(withIdentifier: "MediaDetailTableViewController") as! MediaDetailTableViewController
    mediaDetailTVC.currentUser = currentUser
    mediaDetailTVC.media = media[selectedIndex.section]
       self.present(mediaDetailTVC, animated: true, completion: nil)
   }

推而不是现在

self.navigationController.push(mediaDetailTVC....)
简单多了

PerformScheue(标识符为:“MediaDetailTableViewController”,发件人:self)


另外,实例化MediaDetailTableViewController大约需要2秒钟。
然后您需要立即停止,首先要担心为什么会这样。谢谢matt。我会更加注意的。