17

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?

+0

Ich habe Probleme beim Verbinden von Beziehungen, wenn Sie einen benutzerdefinierten NSAtomicStore verwenden. Haben Sie Ihr Problem behoben? – Vamos

+0

Verhält es sich auf die gleiche Weise, wenn Sie auf die Beziehung zugreifen, die die Variable ValueForKey verwendet? – quellish

Antwort

1

ja. Das Problem besteht möglicherweise darin, dass Sie eine Forward-Deklaration von aRel auf Ihrem verwalteten Objekt haben. Versuchen Sie, es in der aManagedObject.h-Datei zu importieren. Auf diese Weise sollten Sie in der Lage sein, auf seine Attribute zuzugreifen.

Lassen Sie mich wissen, wie es :)

1

Aus heutiger Sicht geht habe ich denke, ich rufe einfach nicht willAccessValueForKey:/didAccessValueForKey: für synthetisierte Eigenschaften haben, und das war irrelevant Shop anpassen. B war die synthetisierte Eigenschaft von A, AFAIR.