2011-02-03 3 views
1

私はタブバーアプリケーションを持っていますが、私は奇妙な動作に遭遇しています....私はタブバーをトグルして新しいView Controllerに到達することがあります。これらのView ControllerのviewDidLoadはviewDidLoadは最初に呼び出される必要があります... 誰もが言うことができます...任意の提案??tabbarcontrollerの奇妙な振る舞い

+0

あなたが入ると、戻って来て、再び入りますか? –

答えて

2

メモリが少ないと、タブバーコントローラは表示されないすべてのビューを解放します。つまり、ビューがアンロードされたため、viewDidLoadを複数回呼び出すことができます。

0

viewWillAppearではなく、viewDidLoadは確実ですか?

のviewDidLoadは一度だけ、それぞれのUIViewControllerのサブクラスで呼び出されますので、あなたのレイアウトは、このようであれば:

-UITabBarController: 
    - HappyUIViewController 
    - SadUIViewController 
    - ThirdUIViewController 

その後のviewDidLoadは3回呼び出されます。 HappyUIViewControllerの場合は1回、SadUiViewControllerの場合は1回などです。

+0

私はそのviewDidLoadを確信しています... – devaditya

1

あなたのアプリはメモリを大量に使用していますか?おそらくメモリ警告を受け取っていますか?あなたが記述している動作を経験していないのですが、メモリが大量に使用されているため、メモリ不足のために見えないビューが解放されている可能性があります。彼らが次に見えるようになると、再初期化する必要があり、viewDidLoadと呼ぶ必要があります。

+0

ハッ、26秒で回答に私を打ち負かしました:) – deanWombourne

+0

これは理由かもしれませんが、私のアプリケーションを実行すると...メモリ使用量は6 MBを超えることはありません... – devaditya

+0

@deanWombourne時には後になる方がいいです。あなたは答えにクレジットを持っています。 :) –