2

私は、1 つのエンティティを持つ動作するデータモデルを使用して、アプリを構築しました。managedObjectContext は、arrayController および TableView で正常に動作します。非常に簡単で一般的な設定です。

コードはまだほとんどありません。コアデータを少しいじってみました。

問題は、モデルを変更すると、たとえば新しいエンティティを追加すると、互換性がなくなり、アプリの読み込み中に 2 つのエラーが表示されることです。

エラーは次のとおりです。

永続ストアを開くために使用された管理対象オブジェクト モデルのバージョンは、永続ストアの作成に使用されたバージョンと互換性がありません。

ストアの初期化に失敗しました

どういうわけか、最後のモデルを配列にロードしようとしていると思いますが、私はそれに興味がありません。新しいものを使いたいのですが、それ以外はすべて処分します。

私はstackoverflowとgoogleをいたるところで検索したので、ビルドフォルダーをきれいにし、アプリをきれいにしましたが、まだ機能していません。アプリ名の Library または Library/Application 内のフォルダーが存在しません。

問題を解決し、新しい DataModel を使用するようにアプリを作成するにはどうすればよいですか?

4

1 に答える 1

3

ストア ファイル (実際の sqlite ストア) を削除する必要があります。アプリを再起動すると、AppDelegate で再作成されます。

  1. シミュレーターを使用している場合は、ドキュメント フォルダーに移動して自分で削除できます。(複雑です。

  2. プログラムでフラグを設定し、true に設定されている場合はストアを削除できます。これは、特にデータ セットが大きすぎず、入力したデータを再起動しても保持する必要がない場合に、テストに適した設定です。(推奨)

  3. デバイス/シミュレーターからアプリを削除するだけです。(最も簡単です。 )

于 2012-11-17T10:55:26.320 に答える