2015-11-23 32 views
5

TableViewControllerがあります。ナビゲーションバー内でセグをトリガーしたいと思います。私はストーリーボードのセグを新しいViewControllerに作成しました。しかし、私がバーボタン項目をクリックすると、ビューは表示されません。SegueがトリガーされてもViewControllerが表示されない

代わりに、バーボタンの項目が非アクティブ(淡色表示)になり、アプリがフリーズします。エラーメッセージはなく、アプリケーションもクラッシュしません。

  1. は(私のストーリーボード内や.swiftファイルとして)2番目の画面のカスタムビューコントローラクラスを作成しました:。私のTableViewControllerまた、私は次のことをした

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    
        print("prepare for segue called") 
        print("destination view controller = \(segue.destinationViewController.description)") 
    
    } 
    

    を呼び出さでprepareForSegue方法ストーリーボードのそれぞれのViewControllerをアイデンティティインスペクタのカスタムビューコントローラに割り当てました

  2. ボタンのクリックイベントのためにIBActionが作成され、プログラマチックに がトリガーされました。結果は変わりません。 prepareForSegueが呼び出されます。 destionationViewControllerは正しい ですが、表示されません。その後、私はこのIBActionを削除しました。

マイ先ビュー・コントローラは、右のセグエがトリガされているにもかかわらずと呼ばれることは決してありません。この

class EnterUserDataViewController : UIViewController { 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     print("EnterUserDataViewController viewDidLoad called") 
    } 

} 

viewDidLoadのように見えます。

なぜこのようなことが起こるのかのヒントを教えてください。

My outline. I'm trying to create a segue from the ExtraViewController to the EnterUserDataViewController

Segue

+0

あなたのスクリーンショットは実際のコードとまだ一致していますか?アクション・アウトレットを使って手動でセグをトリガーしているとしますが、画面にはタブバー・ボタンが直接セグをトリガーしていることが表示されます。 – tebs1200

+0

いいえ私は何かが間違っている可能性があると思った。それから、プログラムでセグをトリガーしようとしました。そこで私はIBActionを作成し、performSegueWithIdentifierを呼び出しました。しかし、これは役に立たなかった。だから私はこのIBActionを削除し、通常の "ドラッグ&ドロップ"セグを使用しました。あなたの質問に答えてください:はい。 – slashburn

+0

この問題に関する最新情報はありますか?あなたはそれを解決することができましたか? @slashburn –

答えて

0

あなたはどこかだろうし、不正なブレークポイントを持つことが起こらないでしょうか?

ビューロードサイクルのどこかにブレークポイントを置くと、記述している正確な症状が再現されます。

+1

XCodeのブレークポイントリストが空ではありません。 – slashburn

関連する問題