ユーザーが本を閲覧/検索してダウンロードできるアプリを開発しています。3つのUITableView、ダウンロード/検索/閲覧があります
ダウンロードされていない場合は「ダウンロード」ボタンを表示したいのですが、そうでない場合は「開く」ボタンを表示します。ダウンロードテーブルビューでは簡単です。コアデータからすべての本をクエリして表示するだけです。
サーバーはステートレスであり、ユーザーが本をダウンロードしたかどうかはわかりません。
ダウンロードした本をコアデータに保存しています。FetchedResultsControllerを使用してテーブルビューをダウンロードします。
ユーザーがカテゴリで検索/閲覧する場合は、新しいRESTリクエストを開始し、応答したJSONをメモリNSArrayのように使用してテーブルビューをバックアップし、タイトルや作成者名などを表示します。
書籍リストは大きく、サーバーは頭字語の使用や人気順に並べ替えるなどの高度な検索をサポートしています。したがって、リスト全体をダウンロードしてローカルで検索を実行するには、さらに作業が必要です。
書籍が検索ビューでダウンロードされているかどうかを判断するための更新の良い方法は何でしょうか。cellForRowAtIndexPath
メインスレッドで毎回コアデータベースをクエリするのはコストがかかるようです。また、バックグラウンドダウンロードが終了したときにUIステータスをリアルタイムで更新したいので、ダウンロード後にJSONを変更することもできませんでした
ありがとう