2012-09-17 3 views
0

사용자가 옵션 집합을 선택하는 응용 프로그램이 있지만 각 단계에서 사용할 수있는 옵션은 이전에 선택한 옵션에 따라 다릅니다.CoreData 모델 옵션 선택 트리

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

나는 미숙 사과 : 선택의 경로가 나무로 모델링 할 수 있지만, 옵션 A를 선택한 후 사용할 수있는 옵션 그것은 다음과 같이 보일 수있는 옵션 B를 선택한 후 사용할 수있는 옵션과 다른 것 이 모델의; 나는 그것을 확장 할 시간이 없었습니다.

기본적으로 사용자에게는 초기 옵션 집합이 표시됩니다. 이 옵션들 각각에는 다른 형제 옵션 중 하나를 선택한 경우와 비교하여 고유 한 서브 옵션 세트가있을 수 있습니다. 선택이 끝나면 Product 객체가 생깁니다.

CoreData에서 이러한 종류의 계층 구조를 모델링하는 방법에 대한 조언을 찾고 있습니다. 나는 리프 노드가 Product 객체 여야하고 중간 옵션은 선택할 수있는 서브 옵션 목록과 함께 정규 NSManagedObjects 여야한다고 생각합니다.

답변

1

엔티티가 자체 및 제품 엔티티와 일대일 관계로 의사 결정을 나타 내기를 원할 수도 있습니다. 같은 뭔가 :

 
entity: Decision 
    relationship: decisions ->> Decision 
    relationship: product ->> Product 

entity: Product 
    attribute: name 
    attribute: price 
    attribute: color 
    ... 

그런 식으로, 하나의 결정은 당신의 "옵션 1"노드가 세 개 의사 결정에 이르게으로 하나 이상의 다른 결정으로 이어질 수 있습니다. 또는 하나 이상의 제품 또는 두 가지 조합으로 이어질 수 있습니다.