Core-Datenobjekt-IDs im Vergleich zur permanenten Objekt-ID

9

Diese Frage könnte so aussehen, als wäre sie schon oft gestellt worden, aber ich bin mir nicht sicher, ob ich die Antwort richtig zusammengefasst habe. Also hier geht es.

ObjectIDs werden von Apple (WWDC 2012 Session 214) als kontext- und threadsicher beschrieben. Also habe ich einige Zeit damit verbracht, meinen Code zu konvertieren, um das auszunutzen. Es scheint jedoch nicht so kontext-sicher zu sein, wie sie es klingen lassen, weil, wie diskutiert, hier Kerndaten: Erhalten Child-Kontexte jemals permanente ObjectIDs für neu eingefügte Objekte? und anderswo gibt es die Existenz von etwas, das man permanente IDs nennt.

>

In Bezug auf dieses permanente ID-Geschäft habe ich in NSManagedObjectContext.h nachgesehen:

%Vor%

Ich habe also Probleme in meinem Code. Ich habe eine Hierarchie von NSManagedObjectContexts (sagen wir, B und C), und nur eine von ihnen ist tatsächlich mit einem persistenten Speicher verknüpft (Aufruf ist A). Also, C ist Kind von B, B ist Kind von A. Wenn ich ein NSManagedObject von C, und dann rufen Sie erhaltenPermanentIDsForObjects, ist es tatsächlich permanent? Weil die Kommentare in der .h-Datei so gelesen werden, dass nur die Hierarchie nach B (erster beschreibbarer Speicher, der die Entität unterstützt, und in der untergeordneten übergeordnete Konfiguration werden die Änderungen nur um eine Ebene nach oben verschoben werden) nachgeschlagen wird, nicht A.

Vielen Dank im Voraus.

    
Victor 18.01.2013, 06:39
quelle

1 Antwort

2

Ja, wenn Sie obtainPermanentIDsForObjects aufrufen, dann sollten die erhaltenen IDs permanent sein (abgesehen von irgendwelchen Implementierungsfehlern im Framework, die zu diesem Zeitpunkt für diesen Kern unwahrscheinlich scheinen).

    
Duncan Babbage 16.06.2014 08:25
quelle