Blogを題材にCore Dataのリレーションシップを勉強するメモ。
ソース : https://github.com/Nunocky/CoreDataStudy01
登場するクラスは
- Blog
- Article ・・・ Blogに所属する記事。 Blogとは一対多の関係。
期待することは
- Atricleを全部削除してもBlogは削除されずに残る
- Blogを削除すると関連する Atricleも削除される
という関係。
Blog側、 articleのプロパティはこう。Articleを複数持つこと、削除ルールがCascade(自分が消えたら関連してるエンティティも消える)を選ぶ。
Article側 blogのプロパティはこう。Delete Ruleは Nullify (自分が消えたらblogの管理してる自分の情報を消してもらう)にする。Articleの親はひとつだけなのはアプリの方針。多対多の関係でも Delete Ruleは変わらないと思う。
あとはコード読んでください (;´д`)
必要なことは AppController.mが教えてくれます
データベースの初期化やアイテムの削除、blogの削除などを一つ一つ操作しながら storedatadファイルを眺めてみると理解しやすいと思う