2016-07-27 10 views
0

Storyboard screenshotボトムビューにアクセスする方法

私は2つのUIViewControllerを持っています。 NewBuyViewControllerおよびNewTransformViewController。今、NewTransformViewControllerのデータをNewBuyViewControllerに使用する必要があります。このコードをNewBuyViewController

let presentingView1 = self.presentingViewController as! UINavigationController 
let presentingView2 = presentingView1.presentingViewController as! NewTransferViewController 

で使用しましたが、2行目でクラッシュします。私は何をすべきか?

答えて

1

受信したエラーメッセージ/コンソールメッセージは必ず添付してください。

presentingViewControllerは、問題のviewControllerの上に現在表示されているモーダルviewControllerを返すため、エラーが発生しています。

presentingView1は、モーダルviewControllerを持たないUINavigationControllerです。これは、rootViewController、おそらく後でviewControllersのコレクションにあります。

強制的に(as!)のpresentingViewControllerが存在しないためにnilを返しているためです。キャストを強制的に無効にしようとするとクラッシュする。絶対に必要な場合を除き、強制的に強制的にキャストするのは避けてください。

代わりにそのようrootViewControllerにアクセスしてみてください:

if let secondViewController = presentingView1.rootViewController as? NewTransferViewController { 
    // Do something with `secondViewController` 
} 
関連する問題