Ios 为什么在表视图中一次又一次地加载我的图像?

Ios 为什么在表视图中一次又一次地加载我的图像?,ios,objective-c,uitableview,Ios,Objective C,Uitableview,我正在创建一个应用程序来显示列表,每个列表在一个表格单元格中显示x个图像 要显示图像,我必须动态创建UIImageView,并通过for循环(取决于从服务器调用接收的数据)将图像加载到单元格中 现在,我可以动态添加图像,但当我滚动表视图时,cellforrowatinexpath函数再次运行,图像再次加载到单元格中,因此创建的图像视图比实际数据多 我希望单元格中的图像计数保持不变,并且不希望在表格滚动时在单元格中创建更多图像 以下是功能代码: - (UITableViewCell *)table

我正在创建一个应用程序来显示列表,每个列表在一个表格单元格中显示x个图像

要显示图像,我必须动态创建
UIImageView
,并通过
for
循环(取决于从服务器调用接收的数据)将图像加载到单元格中

现在,我可以动态添加图像,但当我滚动表视图时,
cellforrowatinexpath
函数再次运行,图像再次加载到单元格中,因此创建的图像视图比实际数据多

我希望单元格中的图像计数保持不变,并且不希望在表格滚动时在单元格中创建更多图像

以下是功能代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *Cellidentifier1 = @"ClassCell";

    ClassCell *cell = [tableView dequeueReusableCellWithIdentifier:Cellidentifier1 forIndexPath:indexPath];

    // Configure the cell...
    long row = [indexPath row];

    for (int t = 0; t<individualSports.count; t++) {
        UIImageView * imageView = [[UIImageView alloc]initWithFrame:CGRectMake((250/10*count+10), 125, 20, 20)];
        [imageView setImage:[UIImage imageNamed:@"cricket_unselected.png"]];
        [cell addSubview:imageView];
    }

    return cell;
}
-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath{
静态NSString*Cellidentifier1=@“ClassCell”;
ClassCell*cell=[tableView dequeueReusableCellWithIdentifier:Cellidentifier1 forIndexPath:indexPath];
//配置单元格。。。
长行=[indexPath行];

因为(int t=0;t您的
ClassCell
可以为您处理此问题。如果它用于其他目的,只需再次对其进行子类化

@implementation ClassCell // or a new ClassCell subclass
- (id)initWithFrame:(CGRect)frame {
  if (self = [super initWithFrame:frame]) {
    // for loop..
  }
  return self;
}
@end

或者,您可以使用
BOOL

@interface ClassCell
@property BOOL hasImageViews;
@end
然后:

if (!cell.hasImageViews) {
  cell.hasImageViews = YES;
  // for loop..
}


旁注:我不太清楚为什么要在单个单元格中多次添加相同的图片;是否更可能要使用某种复选框?此外,您正在使用
t
进行迭代,但随后使用
count
应用帧,这意味着您的所有图像视图都重叠因为它们在
单元格中具有相同的帧,所以它们相互之间是相同的。谢谢,循环很好,我删除了count变量。图像不同,只是为了简化上面的代码,我删除了if-else条件。虽然我正在实现您建议的类方法,但如果出现任何问题,我将返回!兄弟bool方法工作起来很有魅力,愚蠢到不去想它之前是否存在。我发现了另一个bug,显示的单元格正在显示正确的数据,但当我滚动加载另一个单元格时,显示的图像数量是错误的。如果您需要不同数量的图像,这取决于您的单元格数据,您应该更改将图像添加到ce的方式你原来的问题不清楚你的意图。