2016-07-01 10 views
1

モーダルビューにナビゲーションバーを表示させようとしています。 this answerによれば、特別なナビゲーションコントローラnextScreenNavigationControllernextScreenViewControllerのモーダルビューを埋め込むことでこれを実行しようとしています。Swift:デリゲートでモーダルビューのナビゲーションバー/トップバーを表示

しかし、最初のviewControllerとnextScreenViewControllerの間でデータを渡すためにデリゲートパターンを使用しています。 navigationControllerに埋め込む前に、私は次のコードでinitalizingた:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if segue.identifier == "goToNextScreen" {  
     let nextScreenDelegate = segue.destinationViewController as! nextScreenViewController 
      nextScreenDelegate.delegate = self 
    } 
} 

Some research

しかし

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
     if segue.identifier == "goToNextScreen" { 
      let navigation: UINavigationController = segue.destinationViewController as! nextScreenNavigationController 
      var nextScreenDelegate = nextScreenViewController.init() 
      nextScreenDelegate = navigation.viewControllers[0] as! nextScreenViewController 
      nextScreenDelegate.delegate = self 
    } 
} 

...私のようなコードを使用する必要がありますnextScreenNavigationControllerを考慮するためには、それが失敗した、ということを示唆しクラッシュすることなく - データは渡されません。

私のデリゲートパターンがもっと必要な場合はコメントしてください...基本的な実装の問題ではないことを確認したいだけです。または、モーダルビューにナビゲーションバーを表示するより良い方法はありますか?

答えて

0

申し訳ありません - 心配しないでください!私は上記のコードが動作することを認識し、私の問題は、私がstoryControllerのクラスnextScreenNavigationControllerをnavigationControllerに割り当てられなかったことでした。

関連する問題