【发布时间】:2018-11-01 18:06:59
【问题描述】:
我有一个聊天 collectionView。用户可以在其中发送新消息、删除消息等。collectionView 由 fetchedResultController 支持。
有多种类型的单元格,例如文本、图像、音频等。我创建了一个播放器来处理单个单元格的音频。单元格是播放器的代表,因此我可以从 Player 对象更新播放时间、停止播放器等。我使用 indexPath 跟踪当前的音频播放单元。
但问题是,如果用户删除了在音频消息之前接收或发送的消息,则音频消息的 indexPath 会发生变化。
func controller(_ controller: NSFetchedResultsController<NSFetchRequestResult>,
didChange anObject: Any,
at indexPath: IndexPath?,
for type: NSFetchedResultsChangeType,
newIndexPath: IndexPath?) {
}
在这个回调中,我只收到删除单元格的删除。但是我没有收到其他单元格的更新 indexPath 的任何回调。如果前一个单元格被删除,如何跟踪音频单元格 indexPath 或单元格?
【问题讨论】:
标签: ios swift uicollectionview