当我滚动tableview时,我想删除不可见的tableview单元格中下载的图像。如何删除不可见的tableview单元格的下载图像。在ios
所以我设置一个标签
- (void)appImageDidLoad:(NSIndexPath *)indexPath
{
int row=(int)indexPath
UITableViewCell *cell;
cell=[self.gamesTableView cellForRowAtIndexPath:indexPath];
OneItemCell *cell1=(OneItemCell*) cell; //custom cell
cell1.imageview.tag= row+100;
}
我设置删除下载的图像时选择的行是最后一行单元格(=补充细胞)。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if(row==nArrayCount)
{
if(row>19)
{
for(int i=1;i<row-8;i++)
{
[[self.gamesTableView viewWithTag:i+100] removeFromSuperview];
}
}
}
但它不工作。因为[[self.gamesTableView viewWithTag:i + 100]为NULL。
另一种方式我通过设置一个的NSMutableDictionary关键细胞的ImageView的(= imageRemoveInProgress)
- (void)appImageDidLoad:(NSIndexPath *)indexPath
{ .
.
[imageRemoveInProgress setObject:cell1.imageView forKey:[NSNumber numberWithInt:row+100]];
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{ .
.
[[imageRemoveInProgress objectForKey:[NSNumber numberWithInt:row+100]] removeFromSuperview];
}
它是不是工作压力太大。因为[[imageRemoveInProgress objectForKey:[NSNumber numberWithInt:row + 100]]也是NULL。
[[imageRemoveInProgress objectForKey:[NSNumber的numberWithInt:行+ 100 appImageDidLoad]具有值。
但在 - (空)的tableView:(UITableView的*)的tableView didSelectRowAtIndexPath方法:(NSIndexPath *)indexPath
它有NULL。
为什么功能标签和seted键值细胞的ImageView的成为空?
如何删除tableViewcell的imageview?