LoginSignup
2
3

More than 5 years have passed since last update.

RealmのDelete Ruleを自前で実装してみた

Last updated at Posted at 2016-04-19

問題点

現在(2016年4月19日)RealmにはDelete Ruleが存在しません。
つまり、親に紐付いてる子がいたとして、親が消えても子は残ってしまうということです。

解決策

不要なデータはやはり持っていたくないので、今回自前で削除しました。
Blog(親)に複数のArticle(子)が紐付いているという設定です。

let realm = try! Realm()
try! realm.write {
  //子要素を消し終えてから親を削除する
  realm.delete(articles)   
  realm.delete(blog)
}

※子要素から削除する必要があります。

最後に

let realm = try! Realm()
  try! realm.write {
    for article in blog.articles {
      realm.delete(article)
    }
    //子要素を消し終えてから親を削除する
    realm.delete(blog)
}

ご指摘いただいたように、上記のようにループを回す必要はありませんでした。
Qiitaに書いてよかった。笑

2
3
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3