从表中删除CustomCell

时间:2011-07-25 09:59:31

标签: iphone ios4 uitableview nsurlconnection

我在UITableViewCell(CustomCell)中使用NSURLConnection的委托方法。我正在单元格中显示下载进度。下载完成后,将调用connectionDidFinishLoading。下载完成后,我需要删除显示下载进度的单元格。如下图所示。

enter image description here

此处首先完成第三个单元格中文件的下载,另外两个单元格中的下载正在进行中。下载完成后,我需要删除单元格。在这种情况下,我必须删除下载完成的第三个单元格 所以,有人帮我删除connectionDidFinishLoading中的单元格。提前谢谢。

2 个答案:

答案 0 :(得分:0)

while creating cell set the tag 

cell.tag=55;

in connectdidFinishing u can remove it by

[[self.view viewWithTag:55] removeFromSuperview];

答案 1 :(得分:0)

当您开始下载并更新自定义单元格以显示进度时,请在委派中的某处保存indexPath

标题中的

NSIndexPath *targetCellIP;
@property (nonatomic, retain)NSIndexPath *targetCellIP;

实施中:

@synthesize targetCellIP;

// Somewhere where you update cell layout to show progress save it's indexPath
[self setTargetCellIP:....];

// After download is completed, remove cell from data model
[[dataModel objectAtIndex:[targetCellIP section]] 
                                        removeObjectAtIndex:[targetCellIP row]];

// Remove cell from table
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:targetCellIP] 
                 withRowAnimation:UITableViewRowAnimationMiddle];

只有当您只有一个要删除的进度单元格时才会使用此方法,在其他情况下,您可以将索引存储在数组中,并在需要它们时使用它们。