CoreDataをで使用しようとしてUIManagedDocument
いますが、準備が整うまでに少し時間がかかることもわかっています。また、準備ができたときに通知が発行されることもわかっています。準備ができたらアプリを表示したいのですが、このようにすると便利ですか?
UIManagedDocument
を初期化し、準備が整うまで待つための標準的なアプローチ(時間と方法)は何でしょうか?
最初からデータを表示するアプリケーションはどうなりますか?
CoreDataをで使用しようとしてUIManagedDocument
いますが、準備が整うまでに少し時間がかかることもわかっています。また、準備ができたときに通知が発行されることもわかっています。準備ができたらアプリを表示したいのですが、このようにすると便利ですか?
UIManagedDocument
を初期化し、準備が整うまで待つための標準的なアプローチ(時間と方法)は何でしょうか?
最初からデータを表示するアプリケーションはどうなりますか?
ドキュメントの状態の変化に対応するために、UIDocumentStateChangedNotificationをリッスンすることをお勧めします。これには、ドキュメントが開いていて続行できる状態になっている場合と、たとえばドキュメントの保存中にエラーが発生した場合に実行する手順の両方が含まれます。
これはドキュメントベースのアプリケーションに関するものですが、UIManagedDocumentにも適用されます。
iOS用ドキュメントベースのアプリプログラミングガイドを参照してください。
私が個人的にこのアプローチを好む理由は、ドキュメントの状態に応じてUIを調整できるからです。また、複数のドキュメントを組み合わせた状態に基づいて対応することができます。完了ハンドラーで行うのははるかに難しいことです。
UIManagedDocumentを作成して開くための両方のインターフェースには、コールバックブロックがあります。
完了ハンドラーが実行されるまで設定されないドキュメントプロパティを用意することをお勧めします。そうすれば、ドキュメントが開いていて、すぐに使用できることが確実にわかります。
データなしでアプリを表示し、準備ができたらオープン/フェッチでデータを排卵させます。
アプリの起動時にこれを行うと、先に進んでアプリをロードし、データの準備ができたらビューにデータを入力します...ただし、開始するのに十分なだけロードするだけで、残りのフェッチはバックグラウンド。
ファイルを開くのにそれほど時間はかからないはずです...時間のかかる部分はデータのロードです。必要に応じて、起動時にスプラッシュ画面を表示できます。Appleのものは、空白のアプリに似た画像を表示します... iTunesUが起動時に空白の本棚を表示し、それをあなたのもので埋める方法をご覧ください。
スタートアップシーケンスを隠すオープニングカットシーンを最初に数秒間再生する人もいます。アプリによっては適切かもしれません。これは、グラフィックス指向のゲームではより受け入れられるようです。