通常、Cell nil の条件外で Cell を構成します。私の場合、NSData を Cell nil の外側の画像に変換するのと同じことをしています。そのため、リクエストを発行してテーブルをリロードするたびに、特定のセルのデータを画像に完全に変換します。しかし、テーブルをリロードした後、私の問題は、テーブルをスクロールするたびに、NSData が明らかな画像に変換されることです。テーブルをリロードした後のスクロールでこの変換を避ける必要があります。
static NSString *CellIdentifierImage = @"CellIdentifierImage";
if(indexPath.section == 0)
{
NewsImageCell *newsImageCell = [tableView dequeueReusableCellWithIdentifier:CellIdentifierImage];
if (newsImageCell == nil)
{
NSLog(@"CellNil");
newsImageCell = [[NewsImageCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifierImage];
newsImageCell.selectionStyle = UITableViewCellSelectionStyleNone;
}
if([[ApplicationData sharedInstance].arrTop10NewsHome count]>0)
{
NSMutableDictionary *dicSource = [arrSource objectAtIndex:indexPath.row];
NSURL *urlImage = [NSURL URLWithString:[dicSource retrieveForPath:@"ItemImage"]];
newsImageCell.lblNewsHeading.text = [dicSource objectForKey:@"Title"];
[newsImageCell.loadingIndicator startAnimating];
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
dispatch_async(queue, ^{
UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:urlImage]];
dispatch_sync(dispatch_get_main_queue(), ^{
newsImageCell.imgVwNews.image = image;
[newsImageCell.loadingIndicator stopAnimating];
});
});
}
return newsImageCell;
}
あなたのアイデアに感謝します よろしくお願いします!!!