如何在UISplitView中将数据从ViewController(VC)传递到MasterView(MV)?我发现我不能使用segue,因为它从VC到SplitView,而不是MV。 请查看下面的图片
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,反之亦然,但我的情况并没有。
由于
答案 0 :(得分:0)
1)不传递数据!只需使用指针。
2)您可以通过SplitViewController
或MasterView
ViewController
3)在您需要的控制器中注册通知,然后只发送一些数据就绪的通知。
4)在目标控制器上捕获你的通知 - 只需用指针获取数据,从控制器获取superview,将其转换为SplitViewController
,然后你可以从中获取master或detail,没有问题,然后获取数据从它指针。
5)使用调试器停止并查看你在superview中的内容,然后你将知道确切的行为方式)
6)确保在主线程上调用所有UI
操作。