SQLiteにデータを保存するアプリについて質問があります。データはFMDBラッパーを使用して読み取られ、サーバー側のデータベースが変更された場合はユーザーに対して透過的に更新する必要があります。
これを実現するためにFMDatabase
、新しいデータベースがダウンロードされるたびに、シングルトン内のオブジェクト全体を新しいオブジェクトに置き換えています。
ただし、たとえばユーザーが現在テーブルビューをスクロールしている場合など、一瞬のクエリは失敗します。
したがって、問題は、.sqlite
現在のキューを保持したまま、現在開いているファイルをどのように置き換えるかということです。
編集:クエリはデータベースに対して非常に頻繁に実行されます。たとえば、ビューをスクロールするときにcount()があるため、ユーザーがデータベースを操作するのを一時的に「ブロック」する簡単な方法はありません。