我为iphone创建了一个下载程序。我有显示主动/被动下载的tableview。在tableview的自定义单元格中有progressbar,它显示%XX下载状态。现在我使用NSTimer更新tableview。我给NSTIMER设定了3秒,效果很好。但是,当我试图选择某个单元格,3秒钟后它变为取消选择(因为表已重新加载)。。。
不使用NSTimer就可以更新单元格的标签(或progressbar)吗?

最佳答案

这取决于您是使用NSURLSession还是NSURLConnection进行下载。对于NSURLSession,将表视图控制器标记为NSURLSessionDataDelegate,将自己设置为delegateURLSession,然后实现进度处理程序:

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/

10-12 02:05