0

我有一个应用程序,用户可以在其中选择一组选项,但每一步可用的选项取决于先前选择的选项。选择的路径可以建模为一棵树,但是,选择选项 A 后可用的选项与选择选项 B 后可用的选项不同。它可能看起来像这样:

                       Option 1
                      /   |    \
                     /    |     \
                    /     |      \
                A,B,C    D,E      F,G,H
               /  |  \   / \      / |
              I  J,K  L  M  N,O  P  Q

我为这个模型的粗鲁道歉;我没有时间按比例构建它。

基本上,将向用户呈现一组初始选项。这些选项中的每一个都可以有一组子选项,与它们选择其他同级选项相比,这将是唯一的。在他们的选择结束时,他们将拥有一个 Product 对象。

我正在寻找有关如何在 CoreData 中对这种层次结构建模的建议。我认为叶节点应该是 Product 对象,并且中间选项应该只是常规的 NSManagedObjects,并带有可以选择的子选项列表。

4

1 回答 1

1

听起来您可能希望一个实体代表一个决策,与它本身和一个产品实体有一对多的关系。就像是:

实体:决定
    关系:决定 ->> 决定
    关系:产品->>产品

实体:产品
    属性:名字
    属性:价格
    属性:颜色
    ...

这样,一个决定可以导致一个或多个其他决定,就像您的“选项 1”节点导致另外三个决定一样。或者,它可以导致一种或多种产品,或两者的某种组合。

于 2012-09-17T19:00:15.770 回答