現在、データが必要なアプリに取り組んでいます。例: 本のリスト。最初の起動時に事前入力されたデータベースを作成する最良の方法は何ですか? それとも、最初の起動時にコア データベースにデータを入力する必要がありますか?
よろしくお願いします:)
現在、データが必要なアプリに取り組んでいます。例: 本のリスト。最初の起動時に事前入力されたデータベースを作成する最良の方法は何ですか? それとも、最初の起動時にコア データベースにデータを入力する必要がありますか?
よろしくお願いします:)
私のアプリには、読み取り専用(書き込みなし)のDBがあり、配布されるバンドルに含めています。次に、AppDelegate-> persistentStoreCoordinatorメソッドを更新して、DBの正しい場所を指すようにします。
DBに書き込む必要がある場合は、アクセスする前にDBをDocumentsディレクトリに移動する必要があります。また、AppDelegate->persistentStoreCoordinatorへの変更は必要ありません。
「シードデータ」は、テキストファイル、plistなど、好きな方法で保存でき、データベース(おそらくsqlite)にも保存できます。
次に、アプリの起動時に、コア データ ストアにデータが既に存在するかどうかを確認します。そうでない場合は、ファイルをデータベースにインポートします。
また、事前構成済みのデータベースを用意し、それをアプリケーション ドキュメント ディレクトリにコピーして、書き込み可能にすることもできます。シード データまたはモデルが変更されるたびに、このシード データベースを再生成する必要があるため、これはやや複雑なアプローチです。