2012-01-07 9 views
0

タイトルはほとんどそれを言います。IBからロードされたUItableViewControllerの場合、非ビュー関連の初期化コードを置く場所

私はUITableViewControllerを持っています。私は初期化したい配列をいくつか持っています。これらはいずれの意見とも関係がありません。純粋なバックエンドデータ。どこに置くべきですか?

メモリに問題があるたびにviewDidLoadに入れたくないので、ビューがアンロードされます。また、ビューがロードされるたびにこれらの初期化を行う必要はありません。

明らかにviewWillAppearではありません。

私が試した他の場所はinitWithCoderとawakeFromNibでした。

しかし、私が観察したのは、選択したタブが最初のものであっても、各タブがUItableviewControllerを持つtabBarControllerを持っていて、他のすべてのタブに対してawakeFromNibとinitWithCoderが呼び出された場合でした。

最初にタブが実際に選択されるまでこれらの初期化が遅れる可能性があるため、私はそれを望んでいませんでした。

お知らせください。

答えて

1

あなたが探している動作の組み合わせについては、解決策は、-viewDidLoadで初期化を実行することです。できるだけ遅く延期しますが、コントローラが再ロードするときに再初期化しないように条件付きで行います。ビュー。

関連する問題