製品を表示するために、アプリで CoreData を広く使用しています。すべてのデータ同期は別の NSManagedObjectContexts でバックグラウンドで行われ、変更の同期が完了すると呼び出しますmergeChangesFromContextDidSaveNotification
これは 99% の確率で完全に機能します。ここにそれが壊れているところがあります:
- アプリで商品を表示します。
- 価格を変更することにしたので、製品を管理して価格を変更する Web サーバーに移動しました。
- アプリに戻り、その製品から離れてブラウジングすると、アプリは Web サーバーで行われた変更をアプリに同期します。
- その商品をもう一度見に行きましたが、価格は変更されていません。
- アプリを完全に終了して再びアプリに戻ると、価格の変更が表示されます。
CoreData が製品のキャッシュされたバージョンを提供しており、アプリが再起動されるまで新しいバージョンが提供されないことが起こっていると思います。他のアイテムをたくさん表示しました。
mergeChangesFromContextDidSaveNotification
myが呼び出された後、このキャッシュをクリアするにはどうすればよい ですか?
これは私と私のクライアントを夢中にさせています - 誰か私がこの状況を改善する方法を知っていますか?