Adicionar e remover observador de vários AVPlayerItem em UITableViewCell

Estou tentando fazer uma exibição de tabela que reproduz vários vídeos comAVPlayer eAVPlayerItem e eu precisava addObserver para cadaAVPlayerItem para que eu possa acompanhar a propriedade playbackLikelyToKeepUp

o que eu tentei e falhei foi adicionar o observador depois de definir oAVPlayerItem e removê-lo nodeinit doUITableViewCell mas como as células nunca são desalocadas, mas são desenfileiradas, isso não funcionará e eu receberei esse erro

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

Depois de pesquisar, eu vim com isso

Não devo adicionar ou remover observadores emUITableViewCell mas eu tive que fazer porque o item do jogador é feito na subclasse da célulaA melhor maneira de lidar com o observador é nos métodos 'UITableViewDelegate'AdicionandowillDisplayCell e removendodidEndDisplayingCell

mas mesmo isso não funciona no meu caso porqueAVPlayerItem leva tempo 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 o observador não seja adicionado nowillDisplayCell mas remover o observador será chamado e causará erro de tempo de execução com

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

se alguém souber como conseguir isso, eu ficaria feliz em saber? obrigado

questionAnswers(2)

yourAnswerToTheQuestion