0
CoreDataの値を少し変更してアップデートをリリースします。スキーマは変更されていません(これは単なるJSON文字列です)が、JSONには変更がありません。データは些細なものなので、削除するのが一番良いと思います。これを行う最善の方法は何ですか?iOSアプリケーションのアップデート時にCoreDataをクリアする
CoreDataの値を少し変更してアップデートをリリースします。スキーマは変更されていません(これは単なるJSON文字列です)が、JSONには変更がありません。データは些細なものなので、削除するのが一番良いと思います。これを行う最善の方法は何ですか?iOSアプリケーションのアップデート時にCoreDataをクリアする
最速の方法は、sqliteファイルを削除することです。しかし、私はテーブルのデータを一つずつクリアするほうが好きです。なぜなら、この方法で私が削除しているものを確かめることができるからです。テーブルをクリアした後で、プロセスを繰り返さないように、DBまたはUserDefaultsにフラグを保持する必要があることは明らかです。
アプリのアップデートの最初の実行を特定する方法がある場合は、バッキングsqliteストアを削除するだけで済みます。たぶん、更新されたバージョンで使用されているsqliteストアの名前を変更し、終了した場合は古いものを削除するなどの単純な処理もあります。 –
さて、NSUserDefaultsに数値を格納するだけで、期待値と異なる場合は、データをクリアしてユーザーのデフォルト値を更新することができました。私はデータを削除する方法についてもあまりよく分かりません! – Jacob
'NSPersistentStoreCoordinator'のインスタンス上のメソッド' addPersistentStore'をコードから探します。このメソッドには、at storeURL:URL?というパラメータがあります。そのURLはあなたのデータが保存されている場所です。使用しているファイルを削除するか、新しいファイルを使用すると古いデータはなくなります。 –