如何将数据从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)您可以从SplitViewControllerMasterView获得具有超级视图的ViewController

3)在您需要的控制器中注册通知,然后发送通知,通知您一些数据已准备就绪。

4)在捕获您的通知的目标控制器上-只需使用带有从控制器获取超级视图的指针获取数据,然后将其转换为SplitViewController即可,然后可以毫无问题地从中获取主数据或详细信息,然后通过指针从中获取数据。

5)使用调试器停止并查看超级视图中的内容,然后您将确切知道如何操作)

6)确保在主线程上调用所有UI操作。

关于swift - 将数据从ViewController(不是Detail)传递到UISplitView Swift中的MasterViewController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39987345/

10-09 06:31
查看更多