2012-02-01 1 views
2

역 관계를 알아서 않습니다하지 코어 데이터는 자동으로이 같은 3 개 기관이

이 이미지는 "주"개체의 "일"관계가 있어야 할 문제가 있음을

sorry that this image has a problem that the "day" relationship of "Week" entity should be to-many, there should be 2 arrows on the end of the relationship

죄송합니다 - 많은 경우, 관계 끝 부분에 두 개의 화살표가 있어야합니다.

여기에 2 개의 질문이옵니다.

첫 번째. 내가 좋아하는의 관계에 대해 조심 후 어느 날 클래스 (NSManagedObject의 사용자 지정 하위 클래스)의 경우, 오브젝트 :

Week* aWeek; 
Day *aDay; 
[aWeek addDayObject:aDay]; 

그때 내가 진정으로 주간 엔티티의 관계 "일"을 통해 일을 찾을 수

하지만, 반대로, 나는 Day 객체 "aDay"의 관계 "thisWeek"가 여전히 무효라는 것을 발견했다.

난 당신이 NSMangedObject의 하위 클래스를 creat에 후, 당신은 당신이 대 다수의 관계를 다루는 자동으로 역 관계를 돌볼 것입니다 수 있도록

- (void)addXXXObject:(xxx)xxx 

같은 방법을 가지고 있다고 들었습니다.

하지만 여기서는 그렇지 않습니다. 그래서 내 자신에 의해 반비례 관계를 처리해야합니까

또는 코어 데이터가 제공하는 경우, 내가 어떻게 그것을 자동으로 반대 관계에 개체를 추가 할 수 있습니까?

2nd. 하나의 "주"가 하나의 "주"로되어 있고 그 관계로 연결되어 있다고 가정하면

내가 원하는 것은 사용자가 일일 중 하나를 삭제할 때마다 주간에 아직 몇 일 간의 관계가 있는지,

는 단지 사용자가 그 일을 삭제 할 수없는 경우

,

하지 않을 경우, 우리는 또한 "주"개체를 삭제합니다.

그래서 대다수 관계의 삭제 규칙을 사용해야합니까?

나는이 규칙으로는 분명하지 않다.

고마워!

답변

5

CoreData는 실제로 두 엔티티에서 정의한만큼 반비례 관계를 처리해야합니다. here을 참조하십시오.

나는 가 하루 -> 주 관계 삭제 규칙 및 week-> 하루 캐스케이드을 무효로 사용할 수 있습니다.
주를 삭제하면 그 주와 관련된 모든 요일도 삭제됩니다.
하루를 삭제하면 해당 요일에 삭제됩니다. 더 이상 요일이없는 주를 자동 삭제할 수 없습니다. 그러나 일주일을 지켜보고 인 경우 자체을 삭제할 수 있습니다.

+0

감사합니다. 정말 도움이됩니다! –