[解決済み】Core Dataの全エントリーを削除/リセットしますか?
2022-04-02 18:08:11
質問
Core Dataに保存されている項目をすべて削除する方法をご存知ですか?スキーマはそのままで、空白にリセットしたいだけなのです。
編集
プログラム的にこれを行い、ユーザーが基本的に
reset
ボタンをクリックします。
解決方法は?
NSFileManager:removeItemAtPath:: メソッドを使用して、プログラムを使用してファイルを削除することができます。
NSPersistentStore *store = ...;
NSError *error;
NSURL *storeURL = store.URL;
NSPersistentStoreCoordinator *storeCoordinator = ...;
[storeCoordinator removePersistentStore:store error:&error];
[[NSFileManager defaultManager] removeItemAtPath:storeURL.path error:&error];
その後、永続ストアを追加し直して、正しく再作成されるようにするだけです。
プログラムによる各エンティティの繰り返し処理は、時間がかかる上にエラーが発生しやすくなります。 この方法を使うのは、あるエンティティを削除して他のエンティティを削除しない場合です。 しかし、参照整合性が保たれていることを確認する必要があり、さもなければ変更を持続させることができません。
ストアを削除して再作成するだけなら、高速かつ安全であり、実行時にプログラムで確実に実行することができます。
iOS5+に対応したアップデート
iOS 5 と OS X 10.7 で外部バイナリストレージ (allowsExternalBinaryDataStorage または Store in External Record File) が導入されたため、storeURLs が指すファイルを削除するだけでは十分ではありません。外部レコードファイルを残すことになります。この外部記録ファイルの命名規則が公開されていないため、まだ万能な解決策はありません。- an0 May 8 '12 at 23:00
関連
-
[解決済み】Cocoapodsをインストールできない - プロジェクト・ディレクトリにポッドファイルが見つからない
-
[解決済み] 'strcmp' はこのスコープで宣言されていません。
-
[解決済み] 新しい Swift クラスの void 関数で予期しない非 void の戻り値が発生する。
-
[解決済み] <UITabBarController: 0x197870> の外観遷移の開始/終了の呼び出しがアンバランスである。
-
[解決済み] Xcode Simulatorのアニメーションをエディタで再生すると、極端に遅くなる。
-
[解決済み] なぜibtoolはexit code 255で失敗したのでしょうか?
-
[解決済み] Xcode 4のBundle creator OS Type code ?
-
[解決済み] 'CGPointMake' は swift で使用できません [重複] 。
-
[解決済み] UITableViewCell、スワイプ時に削除ボタンを表示させる
-
[解決済み] コア・データ エンティティの全インスタンスを削除する最短の方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] リンカーコマンドが終了コード 1 で失敗した(起動を確認するには -v を使用)、Xcode 8、Swift 3
-
[解決済み] Xcode は、[バンドル ID] に一致する iOS App Store プロビジョニングプロファイルを見つけられませんでした。
-
[解決済み] iPhoneが使用できません。デバイスを再接続してください
-
[解決済み] 新しい Swift クラスの void 関数で予期しない非 void の戻り値が発生する。
-
[解決済み] UTF-8でエンコードされたNSDataをNSStringに変換します。
-
[解決済み] UILabelにスペース/パディングを追加する
-
[解決済み] アプリケーションは、アプリケーション起動の最後にルートビューコントローラーを持つことが期待される
-
[解決済み] 起動画面にカスタムクラス名が設定されない場合がある
-
[解決済み] HTTPの読み込みに失敗しました(エラーコード:-1200 [3:-9802])。
-
[解決済み] コア・データ エンティティの全インスタンスを削除する最短の方法