場合によります。たとえば– applicationDidFinishLaunching:
、ユーザーが特定のボタンに触れたときにデータをインポートすることができます。
どちらの場合も、バックグラウンドでデータをインポートします。これにより、(大量のデータがある場合) UI のフリーズを回避し、一種の進行状況インジケーターを表示できます。ユーザーは、何が起こっているのかを知ってもっと喜ぶかもしれません。
バックグラウンドでデータをインポートするには、新しい iOS 5 API for Core Data を使用するか、Marcus Zarraの importing -and-displaying-large-data-sets-in-core-data/に関するチュートリアルに従ってください。
もう 1 つの方法は、事前に入力されたデータベースから開始することです。そのデータベースに (JSON ファイルを使用して) データを入力するダミー プロジェクトを作成し、実際のアプリケーション プロジェクトでそのデータベースを使用します。
それが役立つことを願っています。
編集
アプリの開始時にデータをインポートするのはユーザーフレンドリーではありません。
なぜだめですか?
だから私はデータを入れようとしていました-dbファイルをアーカイブに入れ、それをアプリストアに送信しました。このように、データのインポートが完了し、初期データが受け入れられるテスト中に db ファイルを取得できるかどうか疑問に思っていました。そして、このテスト db ファイルをアーカイブに入れて、appstore に公開します。したがって、ユーザーは最初にデータをインポートする必要はありません。テストデータのコピーを使用するだけです
私はここで要点を得たかどうかわかりません。ここで、 preload と import existing data の意味を説明します。アプリをアプリ ストアに送信するときに、アプリと一緒に db ファイルを送信する必要があります。たとえば、アプリケーション ディレクトリ内。同梱発送も可能です。ただし、この場合、db ファイルは読み取り専用なので注意してください (変更する場合は別の場所に移動する必要があります)。
prepolutade db を作成する必要があるときの私の個人的なやり方なので、ダミー プロジェクトを作成することをお勧めします。これにより、プロジェクトをよりクリーンに保つことができます。ただし、実際のプロジェクトでそのデータベースを作成することもできます。最初の方法に従えば、単純に sql ファイルをアプリのアプリケーション ディレクトリに移動し、コア データにそれを読み取るように指示できます。