NSManagedObject无法从NSAtomicStoreCacheNode获取属性

Ove*_*ine 17 attributes entity-relationship core-data objective-c nsmanagedobject

我在实体A和实体B(单面)之间有一对一的关系,例如名为bRel.我有NSAtomicStore(MyStore)和NSAtomicStoreCacheNode(MyCacheNode)的子类.在load:MyStore 的方法中,我为实体A和B(aNode和bNode)创建MyCacheNode实例,并为每个实例分配相应的propertyCache字典.propertyCache for aNode包含key的bNode @"bRel".

aManagedObject是正常创建的,并且所有属性都有效.但是当aManagedObject通过它访问bManagedObject时aManagedObject.bRel.someAttribute,bManagedObject仍然是错误的.bManagedObject没有收到awakeFromInsertawakeFromFetch.bNode和bManagedObject共享相同的实例managedObjectID.当bManagedObject访问someAttribute时,bNode处于活动状态.当aManagedObject访问其属性时,它将通过valueForKey:MyCacheNode.当bManagedObject执行时,我们无法实现.

bManagedObject根本就不会发射.

谁能想到我应该在这种情况下检查什么?

小智 1

是的。问题可能是您的托管对象上有 aRel 的前向声明。尝试将其导入到 aManagedObject.h 文件中。这样,您应该能够访问它的属性。

让我知道事情的后续 :)