0

マスター/詳細アプリがあり、マスター ビューからモーダルを表示しています。私のモーダルには、ナビゲーション コントローラーと 2 つのサブビューが含まれています。最初のサブビュー (ログイン) が 2 番目のサブビュー (データの選択と初期化) にプッシュされます。マスターでデリゲート呼び出しをキャッチできるように、2 番目のサブビューへの参照を取得するにはどうすればよいですか?

目標は、ユーザーがログインして JSON Web サービスからコア データ データベースを初期化した後に、マスター テーブル ビューを更新することです。

助けてくれてありがとう!

4

1 に答える 1

1

「サブビュー」と言うとき、モーダルに提示されたナビゲーションコントローラーのスタックの2番目のビューコントローラーを意味すると思います。その場合、まだ作成されていないため、提示する前にマスター ビューから参照することはできません (モーダル NavController がそれを担当します)。

最初のviewControllerを参照できます-次のように

[[self presentedViewController] topViewController] 

自分自身をデリゲートとしてそのコントローラーに渡します。これは、作成時にデリゲート参照を 2 番目のコントローラーに渡す責任があります。

もっと簡単に言えば、次のようにして、2 番目の viewController から提示セットアップを参照することができます

[[self navigationController] presentingViewController]

これにより、詳細ビューコントローラーへの参照を簡単に取得できる場所から、プレゼンテーションが行われたコンテナーコントローラーへの参照が取得されます。

そのルートを使用して、データをマスター テーブル ビューに戻すことができます。

ここで私の答えも参照してください:
How can I pass value between NavigationController and ViewController with StoryBoard?

于 2013-01-14T19:22:51.183 に答える