2009-05-25 3 views
1

내 RootViewController에 테이블보기 및 탐색 모음이 포함되어 있습니다. 행을 탭하면 다른 뷰 컨트롤러가 스택에 푸시됩니다 (즉, SecondViewController). 뒤로 단추를 클릭하면 SecondViewController가 스택 밖으로 튀어 나오지만 부모보기 컨트롤러의 데이터가 오래되었습니다.부모 UINavigationController를 다시로드하는 방법?

어떻게 RootViewController의 데이터를 다시로드 할 수 있습니까? 내 첫번째 시도는

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

을 구현하고 viewdidLoad를 다시 호출하는 것입니다.

첫 번째로드시 viewDidLoad가 두 번 호출되는 문제가 있습니다.

답변

9

viewDidLoad 대신 viewWillAppear : 메서드에서 테이블의 데이터를로드하십시오. viewWillAppear은 뷰가 생성 될 때마다 호출되지만 viewDidLoad는 뷰가 생성 될 때 한 번 호출됩니다.

그래서 viewWillAppear :에 데이터를로드하면 테이블이 표시 될 때마다 최신 데이터를 갖게됩니다.

+0

정확히 내가 무엇을 찾고 있었습니까. 무리 감사! –

관련 문제