2012-07-29 1 views
2

이상한 문제가 있습니다.코어 데이터 역관계를 만드는 방법 두 참조가 모두 필요 없음

그래서 코어 데이터를 사용하는 iOS 앱을 제작합니다. 학생 엔티티와 세션 엔티티가 있습니다. 학생 세션은 일대일 세션입니다.

학생 엔티티에 학생이 가질 수있는 많은 세션을 나타내는 "세션"이라는 필드/관계가 있습니다.

세션 엔터티에 속한 학생을 나타내는 "student"라는 필드/관계가 있습니다. 학생 단체에서도

는 "세션"라는 필드/관계가 학생에 현재 세션을 표현하기 위해 존재한다.

내가 데 문제가 그 난 학생 세션을 종료 할 때, 그리고 세션 속성을 nil ([student setSession : nil];)으로 설정하면 세션의 학생 속성도 무효화됩니다.

은 내가 수행하려고 할 때

[session student] 

내가 널을 얻는다.

나는 이것을 극복 할 수있는 유일한 방법은 "Inverse"유형을 "Inverse"유형으로 설정하여 [학생 setSession : 없음]을 무효로하는 경우 [세션 학생]이 무효화되지 않도록 설정하는 것입니다. 물론 "잘못 설정된 속성"에 대한 xcode 경고 메시지가 나타납니다. "Student.session에는 역함수가 있어야합니다."및 "Session.student에는 역함수가 있어야합니다."

저에게 반비례 관계를 유지하는 방법은 있습니다. student.session이 nil로 설정되면 session.student를 무효화하지 않습니까? 나는 "No Action"이라는 학생 엔티티와 Session 엔티티에 대한 삭제 규칙을 변경하려고 시도했지만 도움이되지는 않습니다.

어떤 제안을 주시면 감사하겠습니다 .. 어쩌면 역도 올바른 방법입니다 .. 그냥 내가 제대로하고 있는지 확인하고 싶었을뿐입니다.

감사합니다.

답변

1

반비례 관계 "학생"과 학생 대 세션의 일대일 관계 "세션"을 정의 할 수 있습니다. 학생과 세션의 일대일 관계 "current_session"은 이 서로 다름 반대 관계 "현재 학생".

+0

감사합니다. Martin, 그 덕분에! 아무 경고도없고 나는 아직도 참고 =있다) – Khon