モデル内に 1 つしか存在せず、アプリケーション内のどこにも保持されていないことを確認できる ManagedObject をフェッチすると、フェッチがオブジェクトを返すたびに、それは別のインスタンスであることに最近気付きました (別のメモリアドレス)。どうしてこれなの?
質問する
656 次
2 に答える
4
誰もそれを保持しない場合、Core Data は自由に解放できます。もう一度要求すると、おそらく別のメモリの場所にあるでしょう。それが同じオブジェクト インスタンスであるとは期待できません。
于 2012-06-07T19:06:21.960 に答える
1
与えられNSManagedObject
た は特定の に関連付けられているNSManagedObjectContext
ため、コンテキストを変更すると、必然的にオブジェクトが変更されます。オブジェクトに障害が発生した場合、MOC がオブジェクトを解放していれば、新しいインスタンスを受け取ることもあります。これは、Core Data がメモリ使用量を低く抑える方法の一部です。
于 2012-06-07T19:06:36.547 に答える