在TabBar控制器中,我有多个ViewController。我想从MediaDetailTableViewController
访问ProfileTVC
并将一些数据传递给它,而无需使用segues。
StoryBoard的架构如下:
标签栏
1.导航-> NewsFeed-> MediaDetailTableViewController
2.导航-> ProfileTVC
我想从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)
}
答案 0 :(得分:2)
按推,而不是现在
self.navigationController.push(mediaDetailTVC....)
答案 1 :(得分:0)
简单得多!
performSegue(withIdentifier:“ MediaDetailTableViewController”,发送者:self)