2017-09-06 3 views
0

テーブルビューでは、複数のマッピングテーブルを持つsqliteデータベースのデータが大量に表示されます。テーブルビューのセルでは、マッピングテーブルの平均データがマッピングテーブルの平均合計で表示されます。 UIスレッドよりも、計算された場合は、読み込みのようなテーブルビューのセルにリロードしてください。そのタスクの実行方法を教えてください。メインUIスレッド以外でSQLiteデータベースをフェッチする

答えて

1

これは役立つかもしれないが、

DispatchQueue.global(qos: .background).async { 
    //Do your calculation here 
} 

DispatchQueue.main.async { 
    //Reload Tableview here 
} 
+0

あなたがクラッシュの原因を特定することはできますか?または、質問自体にクラッシュログを添付してください。それで助けになるかもしれませんし、みんなが簡単に問題を理解することができます –

+0

私はすでにその解決策を試していました。しかし、SQLiteデータベース、データフェッチ操作は私のアプリケーションをクラッシュさせるセカンダリスレッド上にあります。私はFMDBDataBaseQueueと同期方式でFMDBデータベースを使用しています。私にバックグラウンドで回避するデータベースクラッシュの解決策を教えてください。 –

+0

返信ありがとうございます。バックグラウンドスレッドでクラッシュした理由は、複数のフェッチ要求クエリを実行し、同時にデータベースをロックするデータベースに対して2つのクエリを実行し、(次の)レコードフェッチ中にFMDBライブラリでアプリケーションをクラッシュさせます。 –

関連する問題