準備 今回はサンプルとして、以下のようにNoteというエンティティが1つある前提とします。 text1 〜 text3はOptionalです。 全体的な流れ バックグラウンドからCore Dataを使うにあたり、やらなければならないことは大きく以下の3つです。 バックグラウンド用のNSManagedObjectContextの作成perform/performAndWaitを使っての処理実行マージポリシーの設定バックグラウンド用のNSManagedObjectContextの作成 Core Dataはマルチスレッド環境で動作するよう設計されていますが、スレッドセーフではありません。 NSManagedObjectのインスタンスを複数のスレッドやキューをまたいで使用すると、普通にデータの不整合を起こしたりアプリがクラッシュしたりします。 Core Dataでは、この問題をシリアルキューを使用