我为iphone创建了一个下载程序。我有显示主动/被动下载的tableview。在tableview的自定义单元格中有progressbar,它显示%XX下载状态。现在我使用NSTimer更新tableview。我给NSTIMER设定了3秒,效果很好。但是,当我试图选择某个单元格,3秒钟后它变为取消选择(因为表已重新加载)。。。
不使用NSTimer就可以更新单元格的标签(或progressbar)吗?
最佳答案
这取决于您是使用NSURLSession
还是NSURLConnection
进行下载。对于NSURLSession
,将表视图控制器标记为NSURLSessionDataDelegate
,将自己设置为delegate
的URLSession
,然后实现进度处理程序:
func URLSession(session: NSURLSession,
downloadTask: NSURLSessionDownloadTask,
didWriteData bytesWritten: Int64,
totalBytesWritten: Int64,
totalBytesExpectedToWrite: Int64) {
// update your table view here
}
关于uitableview - 如何不使用计时器快速更新uitableview,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26947214/