2013-07-21 2 views
0

컨텍스트에서 개체를 사용하여 작업하고 관계를 사용할 수 있습니다. 등록 된 개체가 올바르게 작동합니다.문제가 많음 관계 데이터 저장

올바른 설정으로 코디네이터에 저장소가 추가되었습니다 (세 개의 엔티티가있는 구성, 두 개의 엔티티가있는 엔티티 중 첫 번째 엔티티와 일대일 관계가있는 엔티티).

-many 엔터티 또는 -many 엔터티 둘 모두를 사용하여 저장소를 저장하면 올바르게 작동합니다. 그러나 하나의 엔티티를 컨텍스트에 추가하면 개체 그래프가 저장되지 않습니다.

일반적인 초보자의 문제인 것 같지만 초보자에게도 어려운 해결책입니다. 이런 종류의 문제를 겪은 사람이 내가 처음은 아니겠습니까?

업데이트 : 답장과 포인터를 보내 주셔서 감사합니다. 주요 문제는 미묘하게 지적되었고 오류를 제대로 처리하지 못하는 것 같습니다. 이 게시물을보고 난 후에, Core Data Entity Relationship Does Not Save Between Launches, 나는 오류 처리를 개선하기 시작했다. 이 문제에 대한 현지화 된 설명은 'ID 필요'입니다. 그게 무슨 뜻인지 아직도 모르겠지만 적어도 지금은 알아낼 수 있습니다.

+0

오류 메시지가 있습니까? – mcalex

+0

오류가 없으며 빈 저장소 만 있습니다. 하지만 내 저장 : 오류가 잘못 코딩되었을 수 있기 때문일 수 있습니다. 나는 실수로 잘 지내지 않는다. –

+0

저장시 오류를 정의해야합니다. 어쨌든 오류가 발생 했습니까? 그래서 오류는 내 자신의 정의일까요? 아니면 더 많은 정보로 오류를 기록 할 수 있습니까? –

답변

0

대상 관계는 대상에서 집합으로 표시됩니다. 따라서 child - >> parent는 child.parent가 집합으로 표현된다는 것을 의미합니다. 따라서 새 부모 개체를 추가 할 때 컨텍스트를 저장하기 전에 해당 부모 개체를 집합에 추가해야합니다. self.parent = inserted_parent_object라고 말하면 어떻게 될지 잘 모르겠습니다. 다른 방향으로 가고 있다면 더 쉽습니다. 부모 객체를 삽입 할 때 자식을 설정하고 (컨텍스트가있는 경우) 컨텍스트를 저장하십시오. 그것은 많은 관계가 아니라면 효과가있을 것입니다.

오류가있는 경우 디버그하는 데 도움이되는 코드와 오류 메시지가 도움이됩니다. 코드가 있습니다 : CoreData adding relationships to-many

+0

답장을 보내 주셔서 감사합니다. 내 의견을 수정하고 부모 - 자식 참조를 제거해야했습니다. 관계는 내가 부모와 자식을 위해 실수했던 일대 다 관계입니다. 나는 그것을 사과한다. 문제는 구성 (내가 의심 스러울 때) 또는 addPersistentStoreWithType 메서드의 '옵션'부분에있는 것으로 보입니다. 정확합니다, 오류 처리 기능을 개선해야합니다. 대부분의 오류는 nil로 설정됩니다. –

+0

어떻게됩니까? 그것은 추락 하는가? 상황을 저장하는 데 문제가있는 이상한 곳입니다. 시뮬레이터 나 휴대 전화에서 앱을 삭제하고 다시 실행 해보세요. –

+0

크래시가 발생하지 않으며 저장소에 아무 것도 저장하지 않습니다. 세 번째 엔티티의 인스턴스와 관련된 행을 주석 처리하면 다른 두 관리 객체가 정상적으로 저장됩니다. –