0

J'utilise uitableview pour une vue boîte de réception de chat et ma pile de navigation est commeuitableview se bloque désallocation avec erreur KVO

(
    "<VTDiscoverHome3ViewController: 0x7ff094758f00>", 
    "<VTInboxViewController: 0x7ff098de34d0>", 
    "<VTChatViewController: 0x7ff095827e00>", 
    "<VTDiscoverProfessionalDetailsViewController: 0x7ff095424a00>", 
    "<VTRequestScheduleViewController: 0x7ff095814c00>" 
) 

Ainsi, alors que popping à la vue à domicile en vue de dessus, je reçois un plantage en mode boîte de réception disant

An instance 0x7ff094a33800 of class UITableView was deallocated while key value observers were still registered with it. Current observation info: <NSKeyValueObservationInfo 0x608002e3f680> (
<NSKeyValueObservance 0x60800585c1d0: Observer: 0x7ff098f1b8d0, Key path: contentOffset, Options: <New: YES, Old: NO, Prior: NO> Context: 0x0, Property: 0x60800585c140> 
<NSKeyValueObservance 0x60800585c320: Observer: 0x7ff098f1b8d0, Key path: contentSize, Options: <New: YES, Old: NO, Prior: NO> Context: 0x0, Property: 0x60800585c290> 
<NSKeyValueObservance 0x60800585c410: Observer: 0x7ff098f1b8d0, Key path: frame, Options: <New: YES, Old: NO, Prior: NO> Context: 0x0, Property: 0x60800585c380> 
<NSKeyValueObservance 0x60800585c500: Observer: 0x7ff098f1b8d0, Key path: contentInset, Options: <New: YES, Old: NO, Prior: NO> Context: 0x0, Property: 0x60800585c470> 
)' 

J'ai essayé de supprimer tableview observateurs et la mise en

self.tableView.delegate = nil; 
self.tableView.dataSource = nil; 
self.tableView = nil; 

mais toujours pas de chance

Je ne comprends pas pourquoi je reçois ce crash.

Toute aide serait très appréciable.

Merci.

+0

avez-vous ajouté un observateur de valeur clé pour toutes les propriétés pour le dit ViewController? –

+0

Non, je n'ai pas. –

+0

Comment avez-vous supprimé les observateurs 'tableView' –

Répondre

0

Vous avez la solution.

J'utilise une traction pour rafraîchir la classe qui ajoute certains observateurs à scrollview de tableview

Ainsi, alors que désallocation parfois il plantait.

Donc, ajouté try et catch bloquer lors de la suppression observers.