こんにちは私は現在、次の性質を有していたアプリ構築しています:iOSでデータを取得する別々のスレッドをどう扱うのですか?
- が
- は時間
- で一つのアイテムを表示するフィードを持つストレージのためのコアデータを使用した項目のうちあれば、アプリが呼び出されますサーバから非同期にフェッチする
非同期フェッチを扱うことはやや難解です。
現在、サーバーからフェッチされたアイテムをコアデータに直接格納しています。
アプリが新しいアイテムを必要とするたびに、目に見えないアイテムについてCore Dataに問い合わせています。
このようなコアデータのクエリが原因で、アプリケーションのパフォーマンスが大幅に低下することがあります。
私たちはメモリ内の配列を使用してインデックスを保持することを考えましたが、項目がなくなると取り出しの非同期的な側面は、ロックや他の並行処理手段を使用して配列スレッド安全。
コアデータへの総呼び出しをどのように減らすことができますか?
あなたのアプリをプロファイリングして、フェッチが遅いことを確認しましたか? –
どのような並行性タイプを使用していますか? – mattyohe
パフォーマンスの問題の症状は何ですか? CoreDataはMOCに独自のキャッシングシステムを備えています。 – Jeremy