2011-03-25 4 views
1

사용자가 "설문지"를 작성한 다음 질문을 추가 할 수있는 앱을 작성 중입니다. 정보를 저장하기 위해 핵심 데이터를 사용하고 있습니다. 질문지 엔티티를 만들고 질문 엔티티와 "일대 다"관계를 맺었습니다. 내 질문은, 사용자가 전체 설문지를 복제 (복사) 할 수 있도록하려는 경우 질문과 그 모든 것을 수행하는 가장 좋은 방법은 무엇입니까?핵심 데이터 레코드 및 관련 레코드 복사 (복사)

그래서 명확하게하기 위해 :

을 나는이 :

설문 레코드 ---> 질문 1 기록 - 질문 2 기록 - 질문 3 기록

그리고 내가 원하는 사용자가 이것을 복제하여 다음과 같이 끝낼 수 있습니다.

설문지 기록 ---> 퀘스트 이온 1 명 기록 - 질문 2 기록 - 질문 3 기록

설문 (복사) 레코드 ---> 질문 1 기록 - 질문 2 기록 - 질문 3 기록

답변

1

당신은 당신이 전체 설문지를 복제하려는 말했다 질문 2 - - 질문 3

설문 (복사) ---> 질문 1 (복사) - 질문 2 (

설문 ---> 질문 1 : 그래서 당신은 실제로이 같은 것입니다 원하는 가정 사본) - 질문 3 (사본)

그러면 필요한 것은 완전한 복사본입니다. 데이터 모델에 관계 소유권 규칙을 올바르게 설정했다고 가정하면 this NSManagedObject category을 기반으로 무언가를 작성할 수 있습니다.

+0

예, 이것이 내가 찾고있는 것입니다! 감사! – Vic320

+0

문제가 없습니다. 대답을 수락하는 것을 잊지 마세요 :) –

1

당신은 새로운 관리 개체를 삽입 한 후 모든 설정 그것의 값은 원래의 객체와 같은 것이다. 당신이 당신의 관리 개체에 대한 전문 서브 클래스를 사용하는 경우, 당신도 (예 :이 설문라는 관리되는 개체를 가정에 따라 변경) 간단한 도우미 메서드를 작성할 수

-(Questionnaire*)copyQuestionnaire 
{ 
    NSManagedObjectContext* ctx = [self managedObjectContext]; 
    // Obviously use the correct entity name... 
    Questionnaire* newCopy = [NSEntityDescription insertNewObjectForEntityForName:@"Questionnaire" inManagedObjectContext:ctx]; 
    // Now just copy your properties, for this example we'll assume 
    // a simple relationship called 'questions' 
    [newCopy setQuestions:[self questions]]; 

    // We return a retained copy since our method name starts 
    // with 'copy' 
    return [newCopy retain]; 
} 
관련 문제