Agregar y eliminar observador de múltiples AVPlayerItem en UITableViewCell

Estoy tratando de hacer una vista de tabla que reproduzca varios videos conAVPlayer yAVPlayerItem y necesitaba agregar observador a cadaAVPlayerItem para poder hacer un seguimiento de la propiedad de reproducción Probable de mantenimiento

lo que probé y fallé es agregar el observador después de configurar elAVPlayerItem y quitándolo en eldeinit delUITableViewCell pero dado que las celdas nunca se desasignan, sino que se eliminan, por lo que esto no funcionará y obtendré este error

An instance 0x14eedebc0 of class AVPlayerItem was 
deallocated while key value observers were still registered with it.

Después de buscar se me ocurrió esto

No debería agregar o eliminar observadores enUITableViewCell pero tuve que hacerlo porque el elemento del jugador está hecho en la subclase de celdaLa mejor manera de manejar el observador es dentro de los métodos 'UITableViewDelegate'Agregando enwillDisplayCell y quitando endidEndDisplayingCell

pero incluso eso no funciona en mi caso porqueAVPlayerItem toma tiempo para ser inicializado

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as! TableViewCell
        cell.setUpPLayer()
        return cell
}

override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
        let cell = cell as! TableViewCell
        if cell.Player == nil {
            self.addObserversToCell(cell)
        }
}

override func tableView(tableView: UITableView, didEndDisplayingCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
        let cell = cell as! TableViewCell
        self.removeMyObserversFromCell(cell)
}

para que el observador no se agregue en elwillDisplayCell pero se eliminará al observador y provocará un error de tiempo de ejecución con

'Cannot remove an observer <AVFPlayer.TableViewCell 0x13cf1e9b0> for
the key path "playbackLikelyToKeepUp"  
<AVPlayerItem0x13cf31860> because it is not registered as an observer.'

si alguien sabe cómo lograr esto, me encantaría saberlo. Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta