ios - 从表视图控制器引用特定的表视图单元格
问题描述
我有一个UITableView
显示音频波形图像和播放按钮的单元格。当然,点击按钮会播放音频。为了减少内存使用,我AVAudioPlayer
在表视图控制器中声明了一个实例。我定义了一个具有playAudio(url:URL)
和stopPlayingAudio()
方法的协议,并且我的表视图控制器符合此协议。每当新单元格出列时,我都会将表格视图控制器分配为单元格的委托,以便当用户点击单元格 UI 中的播放按钮时,它会调用playAudio(url)
委托方法。这似乎工作得很好,但我现在遇到了问题。
我正在计算音频播放时的完成百分比值,我想用这个值更新表格视图单元 UI,但我不确定如何从表格视图控制器引用正确的单元格。似乎被点击以开始音频播放的单元格如果滚动离开屏幕可能最终会被回收(除非我误解了单元格如何动态出队)。有没有办法做到这一点?
解决方案
如果您知道要查找表格的哪一行,则可以向表格视图询问相应的单元格:
guard let cell = tableView.cellForRow(at: indexPath) as? WaveformCell {
cell.fractionComplete = ...
}
推荐阅读
- ios - 使用 swift iOS 刷新 Storyboard 视图控制器
- postgresql - 如何使用实体框架播种迁移重新启动 postgres 序列?
- dynamics-crm - 如何关闭这种模式窗口
- mysql - MYSQL不正确的DOUBLE值Python 3
- python - 如何显示使用 PIL 操作的上传图像而不保存到文件 Django
- gnuplot - gnuplot:如何正确解释负面时间?
- indexing - Solr 无法搜索 nutch 爬网条目,尽管字段被标记为 indexed = true
- python - ValueError:Keras DQN 代理的输入形状错误
- email - Apple iOS 邮件应用程序中的电子邮件没有 html 正文
- node.js - 如何访问脚本标签内的 JSON 对象?