mergeChangesFromContextDidSaveNotificationのメモ

NSManagedObjectContextクラスにはmergeChangesFromContextDidSaveNotification:というメソッドがあります。このメソッドを使うと、あるコンテキストと別のコンテキストで変更点をマージしてくれる便利なメソッドなのですが、これが原因でものすごくはまったのでメモしておきます。

はまった原因は、解れば馬鹿みたいに単純でした。。。ただ単に、マージ元のコンテキストと紐づくNSFetchedResultsControllerに検索条件を設定していた場合、かつマージ対象がのデータがその検索条件に引っかからない場合はマージされないという、されなくて当然の処理が原因でした。また、その場合、(これも変更がないから当たり前ですが)NSFetchedResultsControllerが持つdelegateオブジェクト(NSFetchedResultsControllerDelegate)に処理は渡されません。

この記事が役に立った場合、シェアしていただけると励みになります!!