にaddObserver:selector:name:object:いviewDidLoadます。
そして、オブザーバーを削除するためremoveObserver:name:object:に inを使用しています。viewWillDisappear:animated:
に間違ったパラメーターを渡してオブザーバーを削除できなかった場合はどうなりますremoveObserver:name:object:か?
(たとえば、間違った通知をパラメーターに渡しnameたり、間違ったオブジェクトをobjectorに渡したりすると、オブザーバーは削除されませんObserver)
を呼び出した後もオブザーバーがまだ nil でない場合、removeObserver:name:object:notificationSelector が呼び出されるため、オブザーバーの削除に失敗したことがわかります。
しかし、 を呼び出した後にオブザーバーが nil になった場合、オブザーバーのremoveObserver:name:object:削除に失敗したかどうかを確認できません。
オブザーバーが nil になると、オブザーバーは自動的に削除されますか?
それともnotification dispatch table、のNSNotificationCenterがどんどん大きくなり、最終的にアプリが遅くなりますか?
編集
オブザーバーに UIViewController オブジェクトのサブクラスを使用すると、ViewControllerdeallocが呼び出された後にアプリがクラッシュしません。
しかし、他のクラスのオブジェクトを使用すると、オブジェクトが呼び出された後にアプリがクラッシュしますdealloc。