2009-05-25 5 views
1

My RootViewControllerには、テーブルビューとナビゲーションバーがあります。行をタップすると、別のビューコントローラがスタックにプッシュされます。つまり、SecondViewControllerです。戻るボタンをクリックすると、SecondViewControllerがスタックからポップされますが、親ビューコントローラのデータは古くなっています。親UINavigationControllerをリロードする方法は?

RootViewControllerのデータを再ロードするにはどうすればよいですか?私の最初の試みは、

- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated 

を実装して、もう一度viewdidLoadを呼び出すことです。

最初の読み込み時に、viewDidLoadが2回呼び出されるという問題があります。

答えて

9

viewDidLoadの代わりにviewWillAppear:メソッドのテーブルにデータをロードします。 viewWillAppearはビューが表示されるたびに呼び出されますが、viewDidLoadはビューの作成時に一度だけ呼び出されます。

したがって、viewWillAppear:でデータを読み込むと、表示されるたびに常にテーブルに最新のデータが保存されます。

+0

私が探していたものです。本当にありがとう! –

関連する問題