私は自分のプロジェクトでASIHTTPRequestフレームワークを使用して、すべてのネットワーク関連タスクを処理しています。ASIHTTPRequestテーブルビューでの画像の同時ダウンロードには時間がかかります
私はWebサーバーから来ているサムネイルを持つカスタムセルを持っているので、それを処理するためにセルを再利用する必要があります。テーブルビューをスクロールするときにセルが再利用されるため、新しい画像に置き換えられる前のセルの画像が表示されます。
画像をダウンロードするのに時間がかかるのでネットワーク接続が悪い場合は...その時間は間違った画像が表示されることがあります。再利用するセルなので、この画像の置き換えは必要ありません。ユーザーに見えるようにする。
私はASIDownalod SharedCacheメソッドを使用しています。あなたのテーブルビューセルのデリゲートで
NSString *reuseIdentifier = @"offerCell";
BRZOfferCell *offerCell = (BRZOfferCell*)[tableView dequeueReusableCellWithIdentifier:reuseIdentifier];
if (offerCell==nil) {
offerCell = [[[BRZOfferCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reuseIdentifier celltype:kDealCellTypeDealsList] autorelease];
}
[offerCell setImage:[UIImage imageNamed:IMAGE_NO_IMAGE]];
//---get the letter in the current section---
//NSString *alphabet = [mDealsIndex objectAtIndex:[indexPath section]];
//---get all deals beginning with the letter---
NSString* lSectionIndex = [NSString stringWithFormat:@"%i",[indexPath section]];
NSMutableArray *deals = [mIndexedOffersDic objectForKey:lSectionIndex];
if ([deals count]>0) {
//---extract the relevant deal from the deals array object---
Offer* lOffer = [deals objectAtIndex:indexPath.row];
[offerCell setOffer:lOffer];
offerCell.accessoryView = UITableViewCellAccessoryNone;
if (mTableView.dragging == NO && mTableView.decelerating == NO)
{
//Function : format image url to [email protected] and Initiate Image request download
//and set cache policy
[mListViewHelper InitImageRequest: lOffer.PromoImage indexPath: indexPath];
}
}
return offerCell;
は、それは私がデリゲートと共有キャッシュを実装しているが、私はそれが時間がかかり、このデリゲートを使用してイムとして考えるあなたのUITableViewのデリゲートメソッドのため – aryaxt