質問は簡単です:いつNSManagedObjectContextのsave:(NSError **)error
メソッドを使うべきですか?私が唯一理解していることから、変更されたデータは永続ストアに保存されます。 Xcodeテンプレート生成アプリケーションデリゲートは、applicationWillTerminate
のsave:メソッドを呼び出すだけで十分ですか?私のコードについていつNSManagedObjectContextのsave:メソッドを使用するのですか
詳細:
- マルチスレッド
- 私は、単一の
NSPersistentStoreCoordinator
- データは、バックグラウンドスレッドに変更し使用しています(したがって、複数の
NSManagedObjectContext
年代を使用して、バックグラウンドで操作をしています)mergeChangesFromContextDidSaveNotification:
- を使用してマージされています。詳細はお問い合わせください。
私はそれをいつ呼び出すべきかに関するガイドラインを見つけることができなかったので、私はあなたにすべて尋ねることにしました。あなたの返信を前にありがとう!
また、Webから新しい情報を取得してモデルに追加するなどのバックグラウンドタスクでは、追加が完了したら保存しますか?ご回答有難うございます! – Koen
はい - 完了したら保存します。 ManagedObjectContextはスレッド固有であることを覚えておいてください。したがって、あなたのために保存する背景スレッドを作成しないでください。 – dtuckernet
同じスレッドで 'save:'を呼びますNSManagedObjectContextを作成します。ほとんどの場合、バックグラウンドスレッドが使用されます。開始と保存が同じスレッド上で行われている限り、問題はありません。 – Koen