2017-03-13 1 views
0

SideMenuを使用してアプリケーションメニューを表示しています。問題は、MainViewControllerから segue.destinationSideMenu.UISideMenuNavigationControllerであるため、MainViewControllerのデータをTableViewControllerに渡す方法が見つからないことです。MainViewControllerからSideMenuへsegueでデータを送信

これは、ビューの画面で、多分あなたはより良い理解:

enter image description here

だから私のデータは、3番目のビューに最初から到着する必要があります。

代理人の例も提供できれば素晴らしいでしょう。

答えて

1

これを行う方法はたくさんあります。たとえば、デリゲートを使用してビューコントローラ間でデータを渡すことも、通知センターを使用することもできます。 私はあなたの質問から、セグを使用したいと思います。そのアプローチのためのソリューションは、以下である:「Satari」ビューコントローラで

(Iは、第三のビューコントローラを意味SatariViewControllerを言わせて)、いくつかの変数を定義する:最初のビューコントローラで

var test : String? 

次のコードを追加します

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
      if segue.identifier == "segueName" { 
       let navViewController = segue.destination as! UISideMenuNavigationController 
       let satariVC = navViewController.viewControllers.first as! SatariViewController 
       satariVC. test = "Data from first view controller" 
    } 
} 

このコードでは、最初のコントローラから3番目のコントローラにデータを渡すことができます。しかし、私はより確実な解決策は代表者を使うことだと思います。

+0

私は自分の質問を更新しました。あなたは代表者と一緒に例を挙げてください。 –

+1

https://www.codebeaulieu.com/36/Passing-data-with-the-protocol-delegate-patternをご覧ください。 –

関連する問題