2017-09-14 14 views
1

私はビューコントローラとそれのナビゲーションコントローラにUISearchBarを持っています。 2つのViewControllerを含むコンテナビューを追加しました。prepareForSegueは、コンテナビューのVCでViewDidloadより先に呼び出されます。

コンテナビューとコンテナビューのビューコントローラに変数を渡す必要があります。しかし、PrepForSegueが発生するので、私はそれを行うことができません。私のメインVCのviewDidLoad()よりも前です。私は私のコンテナビューにこれらの変数を渡す必要がありますが、これらの変数は

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    print("prepare for segue FirstViewController") 

    if segue.identifier == "mapViewContainer" { 
     let vc = segue.destination as! MasterMapViewController 
     vc.segmentControl = self.container 
     vc.resultsViewController = self.resultsViewController 
     vc.searchController = self.searchController 
    } 
} 

Picture

+0

あなたは何を試してみることができますか?いくつかのコード?それは本当に私たちがあなたを助けることができるように助けます。 – dfd

+0

私は今、いくつかのコードを追加します:D – Persian

+0

は、コンテナのビューコントローラへの参照を保持する変数を作成... prepareForSegueでは、その変数は 'segue.destination' ...'のviewDidLoad() 'では、あなたがして缶に設定その変数を使用して、含まれているビューコントローラ内のデータを設定します。 – DonMag

答えて

0

を初期化される前に、prepareForSegueが呼び出される

はないviewDidLoadではなく、prepareForSegue方法でこれらの変数を初期化するようにしてください。

+0

うん、それは私がやったこととそれは完璧に正常に動作します。それが問題を引き起こすかどうか疑問に思っていましたか? – Persian

+0

@ペルシャン、あなたは選択の余地がありません。あなたはそれを実行する前にセグーを準備する必要があります;] –

関連する問題