Ich habe eine Eins-zu-Eins-Beziehung zwischen Einheit A und Einheit B (einseitig), zum Beispiel genannt Brel. Ich habe Unterklassen von NSAtomicStore
(MyStore) und NSAtomicStoreCacheNode
(MyCacheNode). In der load:
Methode von MyStore erstelle ich Instanzen von MyCacheNode für die Entitäten A und B (aNode und bNode) und weise für jedes ein entsprechendes propertyCache-Wörterbuch zu. Der EigenschaftCache für einen Knoten enthält den bNode für den Schlüssel @"bRel"
.NSManagedObject können keine Attribute von NSAtomicStoreCacheNode bekommen
Die aManagedObject ist in der Regel erstellt und verfügt über alle Eigenschaften gültig. Wenn jedoch ein ManagedObject über die aManagedObject.bRel.someAttribute
auf das bManagedObject zugreift, bleibt das bManagedObject fehlerhaft. bManagedObject empfängt awakeFromInsert
oder awakeFromFetch
nicht. Der bNode und das bManagedObject teilen sich dieselbe Instanz von managedObjectID
. Der bNode ist aktiv, wenn bManagedObject auf someAttribute zugreift. Wenn einManagedObject auf seine Attribute zugreift, geht es durch die valueForKey:
von MyCacheNode. Wenn bManagedObject dies tut, kommen wir nicht dorthin.
bManagedObject gerade überhaupt nicht abfeuert.
Kann jemand annehmen, was ich in dieser Situation überprüfen sollte?
Ich habe Probleme beim Verbinden von Beziehungen, wenn Sie einen benutzerdefinierten NSAtomicStore verwenden. Haben Sie Ihr Problem behoben? – Vamos
Verhält es sich auf die gleiche Weise, wenn Sie auf die Beziehung zugreifen, die die Variable ValueForKey verwendet? –
quellish