2012-11-15 3 views
1

한 객체를 두 번 이상 다른 객체와 관련시켜야하는 문제를 해결하려고합니다. 현재, "시퀀스"와 "포즈"사이에는 일대일 관계가 있습니다. 시퀀스를 만들 때 한 번에 배치를 시퀀스에 추가합니다. 코드는 다음과 같은 :핵심 데이터 : 엔티티의 객체에 대한 다중 참조 문제

- (void)doneAddingItems { 
NSMutableOrderedSet *saveSet = [NSMutableOrderedSet orderedSetWithOrderedSet:self.sequence.poses]; 
[saveSet addObjectsFromArray:self.posesToAdd]; 
self.sequence.poses = [NSOrderedSet orderedSetWithOrderedSet:saveSet]; 
[self.managedObjectContext save:nil]; 
[self.navigationController dismissViewControllerAnimated:YES completion:nil]; 
} 

이 나는 ​​등의 시퀀스를 만들 수 없도록 그러나 분명히 당신은 두 번 같은 개체에 대한 관계를 가질 수 없습니다, 독특한 "포즈"의 목록은 좋은 작품 다음 :

PoseA -> PoseB -> PoseC -> PoseA -> PoseD 

다른 사람들이 어떻게 작동합니까? 나는 이미 시퀀스에서 선택된 포즈의 존재를 검사 할 동적 엔티티를 생성 할 생각을하고 있었고, 존재하는 경우, 그 포즈를 복제하여 "두 번 참조"할 수 있습니다. 둘 다 동일한 정보를 포함하지만 서로 다른 인덱스에 있습니다. 나는 이것이 내 문제를 해결할 수 있다고 생각하고 동적 엔티티와 일부 코드를 추가하여 복제본의 유효성을 검사하고 시퀀스가 ​​제거되면 엔티티를 정리할 것을 요구합니다.

누구에게 더 좋은 아이디어가 있습니까?

답변

2

인덱스 유형의 새로운 NSManagedObject 클래스가 문제를 해결할 수 있다고 생각합니다. Sequence와 Pose 사이에 관계를 가지지 않고, Sequence와 Index 사이에 1 : 많은 관계가 있다면, Index와 Pose 사이에 많은 : 1 관계가 있습니다. "주문"속성으로 정렬 된 색인을 검색하여 완벽한 일련의 포즈를 복구 할 수 있습니다. 각 인덱스는 특정 포즈를 참조하는 반면, 각 포즈는 여러 인덱스에서 사용할 수 있습니다. 색인은 "순서"속성과 관계 만있는 매우 가벼운 객체입니다.

부작용은 색인의 "주문"값이 정보를 캡처하기 때문에 더 이상 주문 세트를 사용할 필요가 없다는 것입니다.

(안무 어플리케이션? 사진)

+0

와우,이 반응을 좋아합니다. 그런 "중간 남자"를 추가하는 것을 결코 생각하지 마십시오! (요가 강사 훈련 앱). –

+0

흥미 롭습니다. 나는 노래에서 화음에도 잘 작동 할 것이라고 생각했습니다. –

관련 문제