tableViewのcellにimageViewを貼り付け、ネット上にある画像を20枚くらい表示させようとしているのですが取得と表示がとても遅いです。
lang
1let cell : trendCustomCell = collectionView.dequeueReusableCellWithReuseIdentifier("trendCustomCell", 2 forIndexPath: indexPath) as! trendCustomCell 3 cell.catImage.image = nil 4 5 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), { 6 var urls = "http://mt.underhat.jp/theme/002/sample/img/neko_s.jpg" 7 var url = NSURL(string: urls) 8 var err: NSError?; 9 var imageData :NSData = NSData(contentsOfURL: url!,options: NSDataReadingOptions.DataReadingMappedIfSafe, error: &err)!; 10 cell.catImage.image = UIImage(data: imageData) 11 12 }); 13 14 return cell
cellを約20個程度作って、それぞれ猫の画像を非同期で読み込んでいます。
1つの画像を読み込むのに約6〜7秒くらい必要とします
コードの改良で更に早くすることはできるのでしょうか?画像があるサーバー側をキャッシュとかで早くする以外ないのでしょうか?
あと
tableViewをscrollし、戻ってきたときにcellがもう一度猫の画像を読みに行ってしまいます。これをなくすことはできるのでしょうか?
質問が2つありますが宜しくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。