2017-02-18 1 views
0

画像を含むカスタムセル(user-avatar)を持つテーブルビューがあります。 私はしかしSwift:UITable-Viewでの画像のロード

  if let imgData = try? Data(contentsOf: imageUrl!), let img = UIImage(data: imgData) {     
       cell.profilePictureView.image = img 
      } 

でcellForRowAt-機能のためのシンプルなソリューションを実装している、それは非常にラグであり、私はいくつかの質問を持っている:

- >いただきました!の画像を設定するには良い方法?以下のようにするか、非同期にロードする必要がありますか?

- > APIサービスに最適なアプローチ:すべての画像を個別に取得する(各行にapi/images/useridをリクエストする)か、すべての画像をサーバーに直接組み込む方がよいか(例えば、20人のプレーヤーのリストに画像属性が含まれていること)

- >画像をキャッシュするのは意味がありますか?それとも自動的にこのようなことが起こりますか?これを達成するための良いアプローチは何ですか?

+0

これを非同期に実行すると、テーブルビューのスクロールも高速になります。サーバーレスポンスに画像を含める方が良いでしょう。 –

答えて

0

バックグラウンドスレッドですべての「画像を取得」し、UIを更新するためにメインスレッドに戻るだけです。 'sdwebimage'を使うことができます。このポッドはイメージをダウンロードし、あなたのためにキャッシュします(あなたはそれについて心配する必要はありません)。

関連する問題