2016-06-13 8 views
0

現在、私のデータでテーブルビューを持つストーリーボードがあり、didSelectRowAtIndexPathおよびprepareForSegue関数を使用してデータを正しく渡すと思います。
私の問題は、特定のセルを選択したときに、このセグメンテーションされた情報で表示されるビューを保持するタブバーコントローラがあるため、キャストが正しくないことにあります。
私は私のキャストになりたい:Swift TabBarControllerによって中断されたセグを準備する

let destination = segue.destinationViewController as! DownloadViewController 

しかし、セグエは、最初のタブバーコントローラに起こっているので、私はエラーを取得しています。このエラーは私にとっては完璧な意味を持っていますが、タブバーコントローラを完全に取り除かずに周りを回る方法がわかりません。全体的な流れを示すのに役立つ私のストーリーボードの写真です。

http://imgur.com/7gFKKIZ

すべてのヘルプは高く評価されます。

答えて

0

UITabBarControllerには、接続されたviewControllerを含む配列があります。最初の試行

let destination = (segue.destinationViewController as! UITabBarController).viewControllers?.first as! DownloadViewController 
+0

ありがとう、これは私が探していたものです! – John511

0

segueを使用する代わりに、目的の最初のタブのモーダルプレゼンテーションを使用して、表示することができます。

let displayFirstVC = storyboard.instantiateViewControllerWithIdentifier("newVC") as! UIViewController 
self.presentViewController(displayFirstVC , animated: true, completion: nil) 

あなたはinstantiateViewControllerWithIdentifierは、あなたが名前newVCであなたのFirstViewControllerのためのストーリーボードの名前を作成する必要があります。

また、UIViewControllerを、View Controllerに付けた名前に置き換える必要があります。ここ

tp://i.stack.imgur.com/6MMsy.png

詳細。 Instantiate and Present a viewController in Swift

+0

この方法で情報を渡す方法はありますか? ForSegueを準備するのと同様に? – John511

関連する問題