Swift/MagicalRecordでCoreDataのエンティティを削除

スポンサーリンク
スポンサーリンク
【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
画像付き英語辞書 Imagict | 英単語をイメージで暗記
【開発記録】
英単語を画像イメージで暗記できる英語辞書サービスを作って公開しました

Swift で MagicalRecord を使っていて CoreData のエンティティ(モデルのオブジェクト・レコード)を削除するやり方です。以下のエントリーを参考に Todo モデルを作成して、その Todo モデルを例にします。task が Todo モデルのオブジェクト。

MagicalRecordをSwiftで使う導入〜設定までの手順 | EasyRamble

MagicalRecord を使うと、エンティティの削除操作をとても簡単に行えます。

スポンサーリンク

MR_deleteEntity(), MR_truncateAll() で削除

task オブジェクトを削除。

Todo モデルの全てのエンティティ(レコード)を全削除。

この全部削除する場合の書き方は、最初に Rails(ActiveRecord#delete_all)と同じだろうと予想して、Todo.MR_deleteAll() と書いたら動かなかったので Rails 脳な人はちょっと注意です。

コンテキストを指定して、以下のような削除の書き方もできるらしい。

が、コンテキストというのが何のこっちゃか分かりません><。以下のエントリーを読んだところ、スレッドのコンテキストを指定できるということ…かな?

MagicalRecord 2.2メモ – Qiita

以下 Objectvie-C の例ですが、MagicalRecord の GitHub ページの公式 Wiki を参考にしました。

To delete a single entity in the default context:
[myPerson MR_deleteEntity];

To delete the entity from a specific context:
[myPerson MR_deleteEntityInContext:otherContext];

To truncate all entities from the default context:
[Person MR_truncateAll];

To truncate all entities in a specific context:
[Person MR_truncateAllInContext:otherContext];

MagicalRecord 便利です。

スポンサーリンク
スポンサーリンク
 
Twitterを使っていますのでフォローお願いたします!ブログの更新情報もつぶやいてます^^
(英語学習用)

Leave Your Message!