CoreDataを使用してかなり複雑なiPhoneアプリを作成しています。これまで、物事はうまく機能してきました。ただし、アプリがより複雑になるにつれて、新しい問題が発生しました。最初のView Controllerは、AppDelegateがapplicationDidFinishLaunchingメソッドの途中に到達する前に、viewDidLoadメソッドを終了しています。
ビューコントローラは、タブバーコントローラであるルートではありません。問題のVCは、タブバーでデフォルトで選択されているタブのVCです。IBによってインスタンス化されています。
私の経験では、このようなことはこれまでに発生したことはなく、AppDelegateで行っている重要な初期化(Core Dataからオブジェクトを取得して使用するための準備)を破棄しています。さらに、断続的です。デリゲートが最初に終了する場合もあります。
他の誰かがこのような困難に気づいたことがありますか?そのような問題を扱うサンプルコードはありますか?
答えは、AppDelegateが準備ができているというメッセージを送信したときにのみ、AppDelegateが準備しているデータをVCにロードさせることだと思います。これが、後でお尻に噛み付くような何かを追加しているのではないかと少し心配しています。