コンテンツビュー内からポップオーバーを閉じようとしていますが、セグエの巻き戻しがこれを行う正しい方法であることを知っており、ボタンを終了アイコンに接続してストーリーボードで巻き戻しアクションを作成すると、完全にうまく機能します。
しかし、同じアクションをプログラムで実行することに固執しています。
これは私のストーリーボード階層です:
[Navigation Controller]
v
[Main View Controller]
v
(popover segue)
v
["B" Tab Bar Controller]
v
[Navigation Controller]
v
["C" View Controller]
そう。「C」ビューコントローラーにテーブルビューがあり、そのセルをタップして、コードを実行してから、最初のメインビューコントローラーまですべてを巻き戻したいと考えています。
これを行う簡単だが正しくない方法は、メイン ビュー コントローラーに通知を送信し、そこでポップオーバー コントローラーを閉じることです。またはデリゲートなどを介して。
しかし、この状況で「popTo」メソッドを使用する方法を理解したいです。
単純
[self.navigationController popToViewController:[AppModel sharedInstance].mainViewController animated:YES];
「存在しないビューコントローラーにポップしようとしました」というエラーでアプリケーションをクラッシュさせるだけです。
そして、私はこれについて混乱しています