ユーザーが一連のオプションを選択するアプリケーションがありますが、各ステップで使用できるオプションは、前に選択したオプションによって異なります。選択の経路はツリーとしてモデル化できますが、オプションAを選択した後に使用できるオプションは、オプションBを選択した後に使用できるオプションとは異なります。次のようになります。
Option 1
/ | \
/ | \
/ | \
A,B,C D,E F,G,H
/ | \ / \ / |
I J,K L M N,O P Q
このモデルの無礼さをお詫びします。スケールに合わせて構築する時間がありませんでした。
基本的に、ユーザーには初期のオプションセットが表示されます。これらの各オプションには、サブオプションのセットを含めることができます。これは、他の兄弟オプションの1つを選択した場合と比較して一意です。選択の最後に、Productオブジェクトがあります。
CoreDataでこの種の階層をモデル化する方法についてのアドバイスを探しています。リーフノードはProductオブジェクトであり、中間オプションは、選択可能なサブオプションのリストを備えた通常のNSManagedObjectsである必要があると考えています。