テーブルをスクロールするという非常に深刻な問題があります。
最初に、バックグラウンドで画像をロードし、テーブルセルに設定するためにGCDを使用しました。しかし、テーブルはスムーズにスクロールしていませんでした。そのためにSDWebImageを使用しましたが、同じことが起こっています。
だれかこの理由を教えてください。テーブルのスクロールが期待どおりにスムーズでない理由。
私のアプリは同じ目的のためだけにリリースを待っているので、あなたの見解を教えてください.
コード :
-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
           NSString *CellIdentifier = @"Cell";
        customCellForExhibitor *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil)
        {
            NSArray *xibPath = [[NSBundle mainBundle]loadNibNamed:@"customCellForExhibitor" owner:self options:nil];
            for (id fileObject in xibPath)
            {
                cell = (customCellForExhibitor*)fileObject;
            }
        }
        objDataModel = [parserDataContentArray objectAtIndex:indexPath.section];
        cell.exhibitorNameLabel.text = [objDataModel exhibitorNameObjectClass];
        cell.exhibitorText.text = [objDataModel exhibitorOfferObjectClass];
        cell.exhibitorSponsorType.text = [objDataModel exhibitorSponsorTypeObjectClass];
        [cell.exhibitorSponsorType setTextAlignment:NSTextAlignmentRight];
//        #pragma mark GCD;
//    
//        NSString *ImageURL = [[parserDataContentArray objectAtIndex:indexPath.section] exhibitorImageObjectClass];
////        NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:ImageURL]];
////        cell.exhibitorImage.image = [UIImage imageWithData:imageData];
//
//        dispatch_queue_t concurrentQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
//        //this will start the image loading in bg
//        dispatch_async(concurrentQueue, ^{
//        NSData *imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:ImageURL]];
//        
//        //this will set the image when loading is finished
//        dispatch_async(dispatch_get_main_queue(), ^{
//            
//            cell.exhibitorImage.image = [UIImage imageWithData:imageData];
//            [cell setNeedsDisplay];
//
//                                                    });
//                                        });
     NSString *ImageURL = [[parserDataContentArray objectAtIndex:indexPath.section] exhibitorImageObjectClass];
     [cell.exhibitorImage setImageWithURL:[NSURL URLWithString:ImageURL]
                      placeholderImage:[UIImage imageNamed:@"placeholder.png"]];
        if ([cell.exhibitorSponsorType.text isEqualToString:@"Gold"]) {
            cell.exhibitorSponsorType.textColor = [UIColor colorWithRed:255/255.0 green:215/255.0 blue:0 alpha:1];
        }
        else if ([cell.exhibitorSponsorType.text isEqualToString:@"Silver"]){
            cell.exhibitorSponsorType.textColor = [UIColor colorWithRed:192/255.0 green:192/255.0 blue:192/255.0 alpha:1];
        }
        else cell.exhibitorSponsorType.textColor = [UIColor colorWithRed:229/255.0 green:228/255.0 blue:226/255.0 alpha:1];
        return cell;
}
よろしくお願いいたします。