モーダルビューにナビゲーションバーを表示させようとしています。 this answerによれば、特別なナビゲーションコントローラnextScreenNavigationController
にnextScreenViewController
のモーダルビューを埋め込むことでこれを実行しようとしています。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
}
}
しかし
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
を考慮するためには、それが失敗した、ということを示唆しクラッシュすることなく - データは渡されません。
私のデリゲートパターンがもっと必要な場合はコメントしてください...基本的な実装の問題ではないことを確認したいだけです。または、モーダルビューにナビゲーションバーを表示するより良い方法はありますか?