2011-10-20 14 views
0

私は3つのビュー、スイッチャービュー、データ取得ビュー、およびデータサマリービューのiPhoneアプリを持っています。アプリケーションが起動すると、switcherビューのviewDidLoadデリゲートが呼び出され、データ取得ビューのviewDidLoadデリゲートがTWICE、viewWillDisappearコール、データ取得ビューのdeallocが呼び出されます。両方の呼び出しは、データ取得ビューのinsertSubViewを呼び出すときのスイッチャービューの同じコード行から発生します。 1つはUIViewControllerからの呼び出しで、もう1つはUIViewControllerによって呼び出されるUINibからの呼び出しです。これは意味をなさないでしょうか?IOSビューのデリゲートと呼び出されたとき

次に、ユーザー入力を使用してビューを変更すると、データ取得ビューのviewWillDisappearデリゲートが呼び出されません。私はちょうどデータの概要ビューのviewDidLoad呼び出しを取得します。

私は混乱しています。私はviewWillDisappearを使用して、データ集録ビューからデータを読み込み、データ要約ビューに読み込むことができますが、このシーケンスでは動作しません。

アイデア?

+0

質問:1)3つのビューは別々のビューコントローラを使用していますか? 2)アクイジションビューの基本機能、つまりネットワークアクセスまたはユーザーとの対話は何ですか? 3)最初にスイッチャービューは何をしていましたか? – NJones

+0

はい、3つのビューコントローラ(スイッチビューコントローラ、ユーザーからデータを収集するための多数のボタンを備えたデータ取得ビューコントローラ、およびデータをレポートするビューサマリコントローラ)があります。 – user990380

+0

このコメントに基づいてベースの回答が更新されました – NJones

答えて

0

あなたの最後の/主な懸念事項であると思われるものに対処する。いいえ[DataAcquisitionView viewWillDisappear]は、あなたのSummaryViewにデータを入れる場所ではありません。データの読み込みが完了したら、明示的にsummaryViewを作成し、要約する必要があるものを表示してから提示してください。

あなたに基づいて新しい情報:あなたはtabBarControllerデリゲートメソッドを使用したい

-(void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController{ 
    NSLog(@"Switch views"); 
} 

これは、ユーザーがそのイベントを処理できる別のviewControllerを選択したことを通知します。

+0

ありがとうございますが、私はあなたの答えを理解できません。データ取得ビューからデータを書き出すトリガーとなるのはいつですか?そのビューが読み込まれたときにデータサマリービューに再度読み込むことができます。データ取得ビューが表示されなくなることを知るにはどうすればいいですか? – user990380

+0

ありがとう、私はそれを試みます。 – user990380

関連する問題