2011-02-03 9 views
1

나는 탭 모음 응용 프로그램이 있는데 이상한 동작이 발생합니다 ... 나는 탭 막대를 토글하고 새로운보기 컨트롤러에 도달 할 때 때때로이보기 컨트롤러의 viewDidLoad가 호출되는 중입니다 ... viewDidLoad는 처음에만 호출해야합니다 ... 아무도 말할 수있는 ... 어떤 제안 ??tabbarcontroller의 이상한 행동

+0

들어갔을 때 다시 나와서 다시 들어가는 것을 의미합니까? –

답변

2

메모리 부족 경고가있는 경우 탭 표시 줄 컨트롤러는 보이지 않는 모든보기를 해제합니다. 즉, 뷰가 언로드되었으므로 viewDidLoad를 두 번 이상 호출 할 수 있습니다.

0

viewWillAppear가 아닌 viewDidLoad가 맞나요?

있는 viewDidLoad 한 번만 각 UIViewController 하위에 호출됩니다, 그래서 당신의 레이아웃이 같은 경우 :

-UITabBarController: 
    - HappyUIViewController 
    - SadUIViewController 
    - ThirdUIViewController 

다음의 viewDidLoad 세 번 호출됩니다. 한 번 HappyUIViewController, 한 번 SadUiViewController, 등등.

+0

나는 그 viewDidLoad ... – devaditya

1

메모리 경고가 발생하는 지점까지 앱이 메모리를 많이 사용합니까? 비록 당신이 묘사하고있는 행동을 경험하지는 못했지만, 메모리가 많이 없어서 보이지 않는 견해가 기억력 부족으로 풀려날 가능성이 있습니다. 그들이 다음에 전화를 걸면 다시 초기화해야하며 viewDidLoad으로 전화해야합니다.

+0

하, 당신은 26 초 대답에 나를 이길 :) – deanWombourne

+0

이것은 이유가 될 수 ...하지만 내 응용 프로그램을 실행할 때 ... 메모리 사용량이 6 메가 바이트를 초과하지 ... – devaditya

+0

@deanWombourne 때로는 나중에 대답하는 것이 더 좋습니다. 답변에 대한 칭찬을 받았습니다. :) –