0

私はコアデータで何かをしています。元のsqliteファイルにはアプリケーションのデータが含まれているためです。私は次のことをすることにしました:

読み取りアクションと書き込みアクションを分離します。1つのsqliteファイルの1つのデータソースからすべての読み取りを行い、別のファイルにすべての書き込みを行います。

iOSアプリケーションのディレクトリにはいくつかのルールがあるので、すべての読み取りデータをバンドルからキャッシュディレクトリにコピーし、書き込みデータをドキュメントディレクトリに配置する予定です。

問題は、バンドルリソースの読み取りファイルを直接使用できるかどうかです。つまり、キャッシュファイルにコピーする必要がなく、デバイスのスペースを節約できます。

または、他にもっと良いアイデアがあります。教えてください。

書き込みデータをドキュメントに入れるのは、その中のファイルをicloudでバックアップできるためです。これは、私のプログラムの機能として機能する可能性があります。

4

1 に答える 1

0

あなたは自分がやりたいことが良い考えかどうかを尋ねますが、最初にいくつかの考えられる落とし穴について考える必要があります。

バンドル内のファイルもCoreDataで作成されており、MOMが含まれていると思います。作成する新しいファイル-おそらく同じMOMを使用します。MOMを更新する必要がある場合はどうしますか?iCloud上のファイルはバージョン1と表示され、ユーザーのiPhoneはバージョン1を使用している可能性がありますが、新しいバージョン2はユーザーのiPadにロードされます。それで?ipadは、データを使用しようとしたときにiPhoneが失敗するため、リポジトリを更新しないでください。ipadには、他のすべてのデバイスが更新されたかどうかを知る方法がありません。

于 2012-10-02T12:49:26.983 に答える