当我滚动表格视图时,我想在不可见的表格视图单元格中删除下载的图像。
所以我设置了一个标签
- (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;
}
I set remove downloaded image when selected row is last row cell(=add cell).
- (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(=imageRemoveInProgress) 为单元格的 imageView 设置一个键
- (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:row+100]] 在 appImageDidLoad 中有值。
但在 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
它有 NULL。
为什么标记和设置键值单元格的 imageView 变为 NULL?
如何删除 tableViewcell 的 imageview?