Swift 2.0のiOSアプリケーションから、バックグラウンドスレッドでサーバーからのデータを要求しながら、カスタムスピナーアノテーションを表示します。 データを取得してsqliteデータベースを更新するとすぐに、スピナーがフリーズし始めます(すべてのクエリを処理するために約15秒)。 XCodeでは、デバイスcpuは95〜100%のアクティビティを示します。 私はGRAND CENTRAL DISPATCHをさまざまな方法で使用しようとしましたが、スピナーアニメーションをフリーズせずに動作させる方法を見つけませんでした。 これをどのようにスローすることができますか? ありがとうございます!iOS UIスピナーがバックグラウンドスレッドを処理中にフリーズする
私は、全体のコードを投稿することはできませんが、それは次のようになります。
//Using the spinner here https://github.com/icanzilb/SwiftSpinner
Spinner.show("Please wait", animated: true)
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0))
{
//around 5 seconds to get data
var data = getDataFromServer()
//around 20 sec to process and save the data in sqlite. It stops spinning from here..
saveDataInDB(data)
}
コードを投稿してください。 – anhtu
'saveDataInDB'が何をしているのかを表示できますか?メインスレッドで重い処理をしているようです。 – Kamchatka
私は質問を更新し、要求どおりにコードを入力しました。 – Philiz