エンティティAとエンティティB(片側)との間に1対1の関係があります(たとえばbRelという名前)。サブクラスがNSAtomicStore
(MyStore)、NSAtomicStoreCacheNode
(MyCacheNode)です。 MyStoreのload:
メソッドでは、エンティティAとB(aNodeとbNode)のMyCacheNodeのインスタンスを作成し、それぞれに対応するpropertyCache辞書を割り当てます。 aNodeのpropertyCacheには、鍵@"bRel"
のbNodeが含まれています。NSManagedObjectはNSAtomicStoreCacheNodeから属性を取得できません
aManagedObjectは正常に作成され、すべてのプロパティが有効です。しかし、ManagedObjectがaManagedObject.bRel.someAttribute
を通してbManagedObjectにアクセスすると、bManagedObjectはフォールトのままです。 bManagedObjectはawakeFromInsert
またはawakeFromFetch
を受信しません。 bNodeとbManagedObjectは同じインスタンスmanagedObjectID
を共有します。 bNodeは、bManagedObjectがsomeAttributeにアクセスすると生きています。 ManagedObjectはその属性にアクセスすると、MyCacheNodeのvalueForKey:
を通過します。 bManagedObjectが実行すると、そこには到達しません。
bManagedObjectはまったく発生しません。
誰でもこの状況で何を確認すればよいですか?
カスタムNSAtomicStoreを使用しているときに関係を接続する際に問題が発生しましたが、どこに問題があったのですか? – Vamos
可変式 ValueForKeyを使用してリレーションシップにアクセスする場合も同様に動作しますか? –
quellish