そのモーダル ビュー内からモーダル ビューを呼び出したビュー コントローラーの名前を確実に特定するにはどうすればよいですか? アプリにはシングルトンがあるため、そこにビュー コントローラーを追加し、呼び出し元のビュー コントローラーの名前を保存することを計画していました。.parentController は、ナビゲーション コントローラーの名前を教えてくれます。
EDITサンプルプロジェクトを試してみましたが、私のものと同じように機能したので、おそらく同じページにはなかったと思います。これについて私と一緒に働いてくれてありがとう。からプロジェクトをダウンロードしました
http://sites.google.com/site/iphonesdktutorials/sourcecode/UINavigationControllerWithToolbar.zip?attredirects=0
2行を追加し、1行を変更しました。これは、私が得ているものを示しています。もしそうなら、5分もかかりませんでした。RootViewController.m の info_clicked (147 行目) の最後の行の上に、
NSLog(@"calling: %@", [[self navigationController] visibleViewController]);
次に、指示に従って、最後の行で self.navigationController を self に変更します。このコントローラーは、モーダルから取得したいものです。次に、InfoViewController.m で、viewDidLoad (35 行目) の中括弧を閉じる前に、
NSLog(@"Parent: %@", [self parentViewController]);
Base SDK Project Settings を 4.0 に変更し、Build してコンソールを開き、下部にある Info ボタンを押します。私はparentViewControllerのUINavigationControllerを取得しており、RootViewControllerが必要です。