1

タブバーアプリケーションがあり、奇妙な動作が発生しています...タブバーを切り替えて新しいビューコントローラーに到達すると、これらのビューコントローラーのviewDidLoadが呼び出されることがあります...ただし、viewDidLoadは最初にのみ呼び出される必要があります...誰かが言うことができます...何か提案はありますか?

4

3 に答える 3

2

メモリ不足の警告がある場合、タブ バー コントローラーは表示されていないすべてのビューを解放します。これは、ビューがアンロードされているため、viewDidLoad を複数回呼び出すことができることを意味します。

于 2011-02-03T14:13:58.053 に答える
1

あなたのアプリはメモリを大量に消費していますか?メモリの警告が表示されるほどですか? あなたが説明している動作は経験していませんが、メモリの使用量が多いため、メモリ不足のために見えないビューが解放されている可能性があります。それらが次に呼び出されてビューに表示されるときは、 を呼び出して再初期化する必要がありますviewDidLoad

于 2011-02-03T14:13:32.207 に答える
0

viewWillAppearではなくviewDidLoadでよろしいですか?

viewDidLoadは、各UIViewControllerサブクラスで1回だけ呼び出されるため、レイアウトが次のようになっている場合:

-UITabBarController:
    - HappyUIViewController
    - SadUIViewController
    - ThirdUIViewController

次に、viewDidLoadが3回呼び出されます。HappyUIViewController用に1回、SadUiViewController用に1回など。

于 2011-02-03T14:11:10.817 に答える