0

ユーザーが一連のオプションを選択するアプリケーションがありますが、各ステップで使用できるオプションは、前に選択したオプションによって異なります。選択の経路はツリーとしてモデル化できますが、オプション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である必要があると考えています。

4

1 に答える 1

1

エンティティが意思決定を表し、それ自体および製品エンティティとの関係が多すぎるようにする必要があるように思われます。何かのようなもの:

エンティティ:決定
    関係:決定->>決定
    関係:製品->>製品

エンティティ:製品
    属性名
    属性:価格
    属性:色
    ..。

そうすれば、「オプション1」ノードがさらに3つの決定につながるのと同じように、1つの決定が1つ以上の他の決定につながる可能性があります。または、1つ以上の製品、または両方の組み合わせにつながる可能性があります。

于 2012-09-17T19:00:15.770 に答える