17

たとえば、bRelという名前のエンティティAとエンティティB(片側)の間に1対1の関係があります。NSAtomicStore(MyStore)と(MyCacheNode)のサブクラスがありNSAtomicStoreCacheNodeます。MyStoreのload:メソッドでは、エンティティAとB(aNodeとbNode)のMyCacheNodeのインスタンスを作成し、それぞれに対応するpropertyCacheディクショナリを割り当てます。aNodeのpropertyCacheには、キーのbNodeが含まれています@"bRel"

aManagedObjectは正常に作成され、すべてのプロパティが有効です。ただし、aManagedObjectがを介してbManagedObjectにアクセスする場合aManagedObject.bRel.someAttribute、bManagedObjectは障害のままです。awakeFromInsertbManagedObjectはまたはを受け取りませんawakeFromFetch。bNodeとbManagedObjectは、の同じインスタンスを共有しますmanagedObjectID。bManagedObjectがsomeAttributeにアクセスすると、bNodeは有効になります。aManagedObjectがその属性にアクセスすると、valueForKey:MyCacheNodeを通過します。bManagedObjectがそうするとき、私たちはそこに到達しません。

bManagedObjectはまったく起動しません。

この状況で私が何をチェックすべきか誰かが想像できますか?

4

2 に答える 2

1

現在の観点からは、合成されたプロパティを呼び出さなかっただけだと思いますwillAccessValueForKey:/didAccessValueForKey:。それは、ストアのカスタマイズとは無関係でした。B は、A、AFAIR の合成プロパティでした。

于 2014-05-25T19:20:19.467 に答える