2016-10-11 5 views
0

ViewController(VC)からUISplitViewのMasterView(MV)にデータを渡すにはどうすればいいですか?私が理解したように、VCからSplitViewに行くので、segueを使うことはできません。 チェックUISplitViewのViewController(Detailではない)からMasterViewControllerにデータを渡すSwift

screenshot of storyboard

UPD下図ください。助けを

おかげステパンを、私は考え出しました。

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

1)データを渡しません!ポインタを使うだけです。

2)あなたが必要なコントローラでの通知のためMasterViewまたはViewController

3)レジスタからスーパーでSplitViewControllerを取得し、ちょうど通知一部のデータが準備を送ることができます。

4)あなたの通知をキャッチする宛先コントローラ上で - コントローラからのスーパービューを取得してポインタを持つデータを取得し、SplitViewControllerにキャストしてから、問題のないマスタまたはディテールを取得してからデータを取得できます。ポインタ。

5)

6)メインスレッド上のすべてのUI操作を呼び出すことを確認してください)デバッガの停止を使用して、スーパーに持っているものを見て、あなたが行動する方法を正確に知ることができます。

+0

答えのためのThansk、いくつかのコードサンプルを共有できますか? –

+0

あなたのコントローラで 'superview'の値を​​デバッガで調べ、コントローラ内の' self'を見ることができるところにブレークポイントを置き、あなたが得ることができるようにします)、通知を行う方法 - サンプルのトンを見てください。 –

関連する問題