如何解决点击单元格以下载文件并向上或向下滚动表格时,应用崩溃
当我点击一个单元格以下载音频文件时,我有一个运行良好的应用程序,但是如果我点击一个单元格,请尝试向上或向下滚动以完成下载,否则它将崩溃!
func urlSession(_ session: URLSession,downloadTask: URLSessionDownloadTask,didWriteData bytesWritten: Int64,totalBytesWritten: Int64,totalBytesExpectedToWrite: Int64) {
let percentege = Float(totalBytesWritten) / Float(totalBytesExpectedToWrite)
DispatchQueue.main.async {
let cell = self.audioTableView.cellForRow(at: self.selectedCellIndex) as! AudioTableViewCell
cell.progressV.progress = percentege
}
}
解决方法
看起来好像是您的附加图像,selectedCellIndex是一个可选变量。 因此,在使用此功能之前,您需要检查它是否为零,然后应去除外力以免发生此类崩溃
DispatchQueue.main.async {
if self.selectedCellIndex != nil{
if let cell = self.audioTableView.cellForRow(at: self.selectedCellIndex) as? AudioTableViewCell{
cell.progressV.progress = percentege
}
}
}
,
首先,应避免强行打开包装,请尝试使用警卫声明。
谈论崩溃,看看是否要更新selectedCellIndex并在任何地方调用相同的下载任务。我怀疑selectedCellIndex设置为某些意外值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。