A verdadeira questão é por que você não sabe se está observando ou não.
Se você estiver fazendo isso na classe do objeto que está sendo observado, pare. O que quer que esteja observando, espera continuar observando. Se você interromper as notificações do observador sem o seu conhecimento, espere que as coisas quebrem; mais especificamente, espere que o estado do observador fique obsoleto, pois não recebe atualizações do objeto anteriormente observado.
Se você estiver fazendo isso na classe de objeto de observação, simplesmente lembre-se de quais objetos você está observando (ou, se você apenas observar um objeto, esteja observando). Isso pressupõe que a observação seja dinâmica e entre dois objetos não relacionados; se o observador possuir o observado, basta adicioná-lo após criar ou reter o observado e remover o observador antes de liberar o observado.
Adicionar e remover um objeto como observador geralmente deve ocorrer na classe do observador, e nunca na classe observada.
addObserver:
emviewWillAppear:
e, correspondentemente,removeObserver:
emviewWillDisappear:
, as chamadas foram correctamente emparelhados. Eu tenho que fazer uma correção rápida para implementar a solução try-catch e deixar um comentário para investigar a causa.