Ho una relazione uno-a-uno tra l'entità A e l'entità B (un lato), ad esempio bRel. Ho sottoclassi di NSAtomicStore
(MyStore) e NSAtomicStoreCacheNode
(MyCacheNode). Nel metodo load:
di MyStore creo le istanze di MyCacheNode per le entità A e B (aNode e bNode) e assegna il dizionario propertyCache corrispondente per ognuno. La proprietàCache for aNode contiene bNode per la chiave @"bRel"
.NSManagedObject non può ottenere attributi da NSAtomicStoreCacheNode
L'oggetto aManagedObject viene creato normalmente e ha tutte le proprietà valide. Ma quando aManagedObject accede a bManagedObject tramite aManagedObject.bRel.someAttribute
, bManagedObject rimane in errore. bManagedObject non riceve awakeFromInsert
o awakeFromFetch
. BNode e bManagedObject condividono la stessa istanza di managedObjectID
. BNode è attivo quando bManagedObject accede adAttribute. Quando aManagedObject accede ai suoi attributi, passa attraverso valueForKey:
di MyCacheNode. Quando bManagedObject lo fa, non ci arriviamo.
bManagedObject non si accende mai.
Qualcuno può supporre cosa devo controllare in questa situazione?
Ho problemi a connettere le relazioni quando uso un NSAtomicStore personalizzato, sei arrivato da qualche parte con il tuo problema? – Vamos
Si comporta allo stesso modo se si accede alla relazione utilizzando la variabile ValueForKey? –
quellish