我在实体 A 和实体 B(一侧)之间存在一对一的关系,例如名为 bRel。我有NSAtomicStore
(MyStore) 和NSAtomicStoreCacheNode
(MyCacheNode) 的子类。在load:
MyStore 的方法中,我为实体 A 和 B(aNode 和 bNode)创建 MyCacheNode 实例,并为每个实体分配相应的 propertyCache 字典。aNode 的 propertyCache 包含 key 的 bNode @"bRel"
。
aManagedObject 是正常创建的,并且所有属性都有效。但是当 aManagedObject 通过 访问 bManagedObject 时aManagedObject.bRel.someAttribute
,bManagedObject 仍然是错误的。bManagedObject 不接收awakeFromInsert
或awakeFromFetch
。bNode 和 bManagedObject 共享相同的managedObjectID
. 当 bManagedObject 访问 someAttribute 时,bNode 是活动的。当一个ManagedObject 访问它的属性时,它会经过valueForKey:
MyCacheNode 的。当 bManagedObject 这样做时,我们没有到达那里。
bManagedObject 根本不会触发。
谁能想到在这种情况下我应该检查什么?