有时,当我在表格视图中滚动时,在表格视图单元格中设置了错误的图像。我怎样才能解决这个问题?以下是我的cellForRowAtIndexPath方法中的相关代码。

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0ul), ^{
        UIImage * image = [UIImage imageWithData: [NSData dataWithContentsOfURL:[NSURL URLWithString:self.myURL]]];
        dispatch_sync(dispatch_get_main_queue(), ^{
            cell.myImageView = image;
        });
    });
    return cell;
}

最佳答案

首先检查您的单元格是否为零,然后设置图像。因为单元格在滚动时间被重用。

参见下面的代码,它将为您提供帮助。

static NSString *CellIdentifier = @"Cell";
   UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
   if (cell == nil)
   {
       cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0ul), ^{
        UIImage * image = [UIImage imageWithData: [NSData dataWithContentsOfURL:[NSURL URLWithString:self.myURL]]];
        dispatch_sync(dispatch_get_main_queue(), ^{
            cell.myImageView = image;
        });
    });
}
return cell;

关于ios - 有时,当我在表格 View 中滚动时,在表格 View 单元格中设置了错误的图像。我怎样才能解决这个问题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38365215/

10-09 20:48