Comment puis-je savoir si un objet a une valeur clé de l'observateur attaché

si vous dites à un objectif c de l'objet à removeObservers: pour un chemin de clé et cette clé n'a pas été enregistré, il les fissures de la dau. comme -

'Impossible de supprimer un observateur pour le chemin d'accès clé "theKeyPath", car il n'est pas enregistré en tant qu'observateur.'

est-il un moyen pour déterminer si un objet a un régime enregistré d'observateur, afin que je puisse faire ce

if (object has observer){
  remove observer
}
else{
  go on my merry way
}
  • Je suis entré dans ce scénario, la mise à jour d'une ancienne application sur iOS 8 d'où une vue contrôleur était libéré et en jetant l' "Impossible de supprimer" l'exception". J'ai pensé que, en appelant addObserver: dans viewWillAppear: et, en conséquence, removeObserver: dans viewWillDisappear:, les appels ont été correctement appariés. Je dois faire une solution rapide, je vais donc mettre en œuvre le try-catch solution et laisser un commentaire pour enquêter sur la cause de plus.
  • Je suis juste de traiter avec quelque chose de similaire et je vois j'ai besoin de regarder dans ma conception de plus en plus profondément et de le régler de sorte que je n'aurez pas besoin de retirer l'observateur de nouveau.