私は最近 Core Data と UIManagedDocument を扱っていて、いくつか質問があります。
UIManagedDocument を開く UITableViewController があります。ここで、情報を tableViewCotroller にダウンロードし、その情報をデータベースに保存して、テーブルビューを更新します。ホームボタンからメイン画面に入り、アプリを再度開くと、データベースのデータを appdelegate で操作したいと考えています。したがって、appdelegate の適切なメソッドで、データベースを開き、必要なエンティティを取得して、必要なオブジェクトのプロパティを変更します。これでうまくいきました。なんとかデータベースを開き、データベースから必要なオブジェクトを取得しました。
私の問題は、appdelegate でデータベースからデータを変更したときに発生します。appdelegate メソッドが完了した後、同じデータベースから tableview のデータを再取得しようとしましたが、この時点では、appdelegate で呼び出されたメソッドで行われた変更がデータベースに登録されていないためです。appdelegate 内で変更が行われた直後に、UIManagedDocument のメソッドを上書きするために saveToURL を呼び出してみました。また、managedobjectcontext で save: メソッドも試しました。データベースが更新されるように変更を保存する正しい方法は何ですか?
Ps: これは iPad で書いているので、コードをアップロードできませんでした。後でアップロードします。
ありがとう