如何将数据从ViewController(VC)传递到UISplitView中的MasterView(MV)?如我所知,我不能使用segue,因为它是从VC到SplitView,而不是MV。
请检查下面的图片
screenshot of storyboard
UPD:
感谢Stepan的帮助,我已经弄清楚了。
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "toMessurementVM"{
let splitVC = segue.destinationViewController as! UISplitViewController
let navVC = splitVC.childViewControllers.first as! UINavigationController
let vc = navVC.childViewControllers.first as! MessurementTagsTableView
vc.ingredient = passingIngredient
}
}
我不确定这是正确的方法,但它是否有效。
关于如何将数据从Detail传递到Master以及反之亦然的例子很多,但是对于我的情况,这没有任何意义。
谢谢
最佳答案
1)不要传递数据!只需使用指针。
2)您可以从SplitViewController
或MasterView
获得具有超级视图的ViewController
3)在您需要的控制器中注册通知,然后发送通知,通知您一些数据已准备就绪。
4)在捕获您的通知的目标控制器上-只需使用带有从控制器获取超级视图的指针获取数据,然后将其转换为SplitViewController
即可,然后可以毫无问题地从中获取主数据或详细信息,然后通过指针从中获取数据。
5)使用调试器停止并查看超级视图中的内容,然后您将确切知道如何操作)
6)确保在主线程上调用所有UI
操作。
关于swift - 将数据从ViewController(不是Detail)传递到UISplitView Swift中的MasterViewController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39987345/