title: How to track collectionView (backed by FetchedResultsController) cell
body: <p>I have a chat collectionView. where user can send new message, delete messages etc. The collectionView is backed by a fetchedResultController.</p>
  
  <p>There are multiple types of cells, such as, text, image, audio etc. I have created a player which handles audio for a single cell. The cell is the delegate of the player, so that I can update the playing time, stop the player etc from the Player object. I track the current audio playing cell using indexPath. </p>
  
  <p>But the problem is, if the user deletes a message which is received or sent before the audio message, the indexPath of audio message changes. </p>
  
  <pre><code>func controller(_ controller: NSFetchedResultsController&lt;NSFetchRequestResult&gt;,
                      didChange anObject: Any,
                      at indexPath: IndexPath?,
                      for type: NSFetchedResultsChangeType,
                      newIndexPath: IndexPath?) {
  }
  </code></pre>
  
  <p>In this call back, I only receive delete for the deleted cell. But I don't receive any callback for the updated indexPath of the other cells. How can I track the audio cell indexPath or the cell if the previous cell is deleted?</p>