2009-10-16 38 views
1

我需要複製一個NSManagedObjectContext中的現有對象圖並將其插入第二個NSManagedObjectContext如何製作核心數據對象圖的精確副本?

有沒有簡單的方法來做到這一點?從我可以告訴我可以要求商務部針對其-registeredObjects,然後做這樣的事情來複制屬性:

NSString* entityName  = [[sourceObject entity] name]; 
NSManagedObject* newObject = [NSEntityDescription insertNewObjectForEntityForName:entityName inManagedObjectContext:newMoc]; 
NSArray* attKeys   = [[[sourceObject entity] attributesByName] allKeys]; 
NSDictionary* attributes = [sourceObject dictionaryWithValuesForKeys:attKeys]; 
[newObject setValuesForKeysWithDictionary:attributes]; 

不過,我不能確定如何在複製的關係。

回答

3

我可能只是保存managedObjectContext並在新的持久性存儲協調器中重新打開持久存儲並從中獲取託管對象上下文。這應該會給你一個完全脫離原來的對象圖。

+0

確實,這聽起來比我所搞的要容易得多。我會試一試,謝謝。 – 2009-10-16 05:21:31

+0

完美的作品,非常感謝。 – 2009-10-16 05:53:45