単純なメモ アプリケーションの場合、コア データに保存されたメモのリストを持つ fetchedResultsController を持つテーブル ビュー コントローラーがあります。ユーザーは + ボタンをクリックして新しいメモを追加するか、テーブル ビュー内のレコードの 1 つをクリックして既存のメモを編集できます。いずれの場合も、テキスト ビューを備えたモーダル ビュー コントローラーが表示されます。
ユーザーが文字を入力するたびに保存したいので、textViewDidChange で Core Data を更新しています。ユーザーの入力が速すぎると、コア データの保存がハングします。私は最近、NSOperationQueue に更新を追加するコードを追加しました
。それはいくらか助けになりました。
これが私が助けを必要としている問題です。ユーザーが textView に更新を入力し、[完了] を押してテーブル ビュー コントローラーに戻り、元の更新がテーブル ビューで更新される前に、同じメモをクリックしてメモを再度編集するとします。ユーザーには、古いデータを含む textView が表示されます。アップデートはありません。ユーザーがテーブル ビューに戻ってメモを再度編集すると、最新の更新が表示されます。
考慮すべきいくつかのアプローチ、またはこの問題を解決するにはどうすればよいですか? ユーザーが必要以上に速く textView と tableViewController を切り替えている場合でも、textView には常に最新の更新が表示されるようにしたい ;)