2012-04-02 4 views
3

Wie kann ich eine von einer NSManagedObjectContext in eine andere kopieren?Wie kopiere ich ein Objekt zwischen 2 NSManagedObjectContext

Ich habe 2 verschiedene NSManagedObjectContext, jede mit eigenen NSManagedObjectModel und separaten persistenten Speicher. Jeder der 2 MOC hat eine Entität namens Observation, die an dieselbe Beobachtungsklasse gebunden ist.

Ich möchte Objekte von einem MOC zum anderen kopieren. Da die Objekte derselben Klasse angehören, möchte ich nur ein Objekt von einem MOC holen und es auf dem anderen speichern. Ist das möglich, oder muss ich ein neues Objekt in das Ziel-MOC einfügen und dann jede Eigenschaft einzeln festlegen?

+0

Versuchen Sie, den Inhalt mit einem MOC in zwei verschiedenen Ansichten anzuzeigen? Wenn ja, dann benutze den gleichen fetchresult controller/moc in beiden Klassen wird es in zwei Ansichten, aber einem Moc angezeigt. – codejunkie

+0

Nein, tatsächlich werden die Objekte von einem MOC zu einem anderen MOC kopiert, völlig unabhängig von jeder Ansicht. –

Antwort

2

Sie müssen kopieren Sie ein Objekt und fügen Sie ein neues Objekt in den Kontext des anderen verwalteten Objekts ein. Höchstwahrscheinlich müssten Sie die Eigenschaftswerte einzeln kopieren, um dies zu tun.

Der Grund ist, dass all diese Objekte eine undurchsichtige eindeutige ID haben, so dass Sie sie nicht einfach von einem Kontext zum anderen nehmen können.

+0

Bedeutet das, ich sollte alle Eigenschaften kopieren, aber nicht die ID? – Katlu

+0

Es sei denn, es ist Ihre eigene ID-ähnliche Eigenschaft. Kopieren Sie nicht die ObjectID. – Mundi

Verwandte Themen