2010-09-26 29 views
5

में NSManagedObject की गहरी प्रतिलिपि कैसे बनाएं I कोर डेटा में मौजूदा NSManagedObject और संबंधित उप-ऑब्जेक्ट्स का डुप्लिकेट बनाने का प्रयास कर रहा हूं। मुझे ऐसा करने का आसान तरीका नहीं दिख रहा है।कोर डेटा

मेरे पास एक एनएसएआरएआर नियंत्रक है जो कोर डेटा डेटाबेस से पॉप्युलेट किया गया है। मैं ऑब्जेक्ट को चयन इंडेक्स पर ले जाना चाहता हूं और एक गहरी प्रतिलिपि बनाना चाहता हूं, इसे एक ही मूल वस्तु से संबंधित रखना और सभी बाल वस्तुओं की प्रतिलिपि बनाना चाहता हूं।

किसी भी सहायता की सराहना की जाती है!

लिंक के लिए टेकजेन के लिए धन्यवाद। मैंने उस साइट से नमूना कोड का उपयोग किया और इस कॉलिंग कोड का उपयोग किया:

RuleSetVersion *object = [[ruleSetVersionArrayController selectedObjects] lastObject]; 

NSString *parentEntity = @"RuleSet"; 

RuleSetVersion *newObject = (RuleSetVersion*)[self copyObject:object toContext:[self managedObjectContext] parent:parentEntity]; 

[newObject setRuleSetEffectiveDate:[[NSDate alloc] init]]; 
[newObject setRuleSetVersionLastModifiedDate:[[NSDate alloc] init]]; 

[newObject setRuleSet:object.ruleSet]; 

NSError *error; 

if ([managedObjectContext save:&error] == NO) { 
    [NSApp presentError:error]; 
} 

उत्तर

1

यह काफी शामिल है।

How do I copy or move an NSManagedObject from one context to another?

+0

प्रतिक्रिया के लिए धन्यवाद: क्या यह उत्तर और नमूना कोड उससे लिंक किए गए मिलते हैं! मैं उस उत्तर को देखता हूं, लेकिन ऐसा लगता है कि किसी ऑब्जेक्ट को एक संदर्भ से दूसरे संदर्भ में कॉपी करना है। क्या मैं वही उत्तर लागू करता हूं यदि मैं केवल एक संदर्भ का उपयोग करना चाहता हूं? – jschmidt

+0

यह पता चला है कि यह काम करता है, लेकिन यह मेरे कॉलिंग कोड के कुछ पुनः उलझन में आया। यूआरएल प्रतिलिपि करने के लिए कोड प्रदान करता है, लेकिन वास्तव में इसे सही तरीके से कॉल करने का तरीका नहीं बताता है। मैं उपरोक्त मेरे प्रश्न में अपना कोड जोड़ रहा हूं। – jschmidt