いくつか思いつくままに..
階層保存用のエンティティを用意する
良い点- トラバーサルが楽(上位階層から下位へ簡単に降りていける)
悪い点
- Category/SubCategory の親子関係の整合性制約をかけられない。これは別途 Validationなどを用意する必要あり。なお前回のモデリングも同じ問題あり。
- 階層の数×2倍のエンティティになる。数が増えると扱いが煩雑になる。
課題
このモデリングでは EventCategory と Category の関連が Unidirectional Relationship(単方向関連) になっている。Core Data的には Bidirectional Relationship が望ましいが、マスタのエンティティにデータへの参照が入るのがなんとなく気になったのでこのようにした。
再帰構成にする
先のものを改良して再帰構成にしてみる( @yuma2471 さんアイディアどうも)。
汎用的になった。なお元々マスタ階層を扱っているので、階層毎に持っている情報が異なるケースが想定される(例えば、カテゴリはアイコン画像を持っているが、サブカテゴリは持っていないなど)。それらに対応するには少し一工夫が必要となる。
Responses
Leave a Response