Ios 检查重复使用的单元格的图像是否为空

Ios 检查重复使用的单元格的图像是否为空,ios,objective-c,cocoa-touch,uitableview,uiimageview,Ios,Objective C,Cocoa Touch,Uitableview,Uiimageview,每个单元格都有一个图像。 我希望能够检查图像是否为空 我正在使用tableView的reuseIdentifier 我试着做了以下几点 if (!cell.imageView.image) { } 及 但是这些方法都不起作用,因为细胞认为图像存在,因为以前细胞的图像存在于重复使用的细胞中 我该如何避开这个问题?如何在重复使用的单元格中检查单元格的图像是否为空?从技术上讲,如果单元格重复使用,图像不会为零,除非您没有设置它。因此,如果不想重用单元格中的图像,可以使用UITableViewCel

每个单元格都有一个图像。 我希望能够检查图像是否为空

我正在使用tableView的reuseIdentifier

我试着做了以下几点

if (!cell.imageView.image) {

}

但是这些方法都不起作用,因为细胞认为图像存在,因为以前细胞的图像存在于重复使用的细胞中


我该如何避开这个问题?如何在重复使用的单元格中检查单元格的图像是否为空?

从技术上讲,如果单元格重复使用,图像不会为零,除非您没有设置它。因此,如果不想重用单元格中的图像,可以使用UITableViewCell中的-prepareforeuse方法,在重用单元格之前会调用此方法,因此在此方法中可以将图像设为零。

从技术上讲,如果重用单元格,则图像不会为零,除非您没有设置它。因此,如果不想重用单元格中的图像,可以使用UITableViewCell中的-prepareforeuse方法,在重用单元格之前会调用该方法,因此在该方法中,可以将图像设为零。

为什么要在意?如果要删除它,只需将其置零,如果不这样做,则覆盖它或将其设置为所需的值。在cellForRowAtIndexPath中,您需要首先将图像设置为nil,以满足适当的条件,例如在else块中,这样图像就不会被重用。您为什么在意?如果要删除它,只需将其置为零,如果不这样做,则覆盖它或将其设置为所需的值。在cellForRowAtIndexPath中,您需要首先将图像设置为零,以满足适当的条件,例如在else块中,这样图像就不会被重用。当处理的图像很少时,您所说的是有效的。如果您每次处理数千张图像并将image设置为nil,那么如果您高速滚动tableview,性能将非常糟糕…@Paradise我的答案与SO问题有关,与具有数千张图像的table view的性能无关。当很少处理图像时,您所说的是有效的。如果您每次处理数千张图像并将image设置为nil,那么如果您高速滚动tableview,性能将非常糟糕…@Paradise我的答案与SO问题有关,与具有数千张图像的table view的性能无关。
if (CGSizeEqualToSize(cell.imageView.image.size, CGSizeZero)) {

}