Adding observer to NSNotificationCenter second time causes EXC_BAD_ACCESS <p>Hypothetical scenario:</p> <p>In my <code>viewDidLoad</code> method I am adding view controller as an observer for custom notification (say, notification <code>MyFooNotification</code>). Later in the process when view is loaded the notification gets posted and controller processes it. When I leave the controller with it's view I DO NOT remove the observer (intentionally) in <code>viewDidUnload</code>. Next time when opening the view, the observer gets added again, but now when the observed notification gets posted - I get <code>EXC_BAD_ACCESS</code>.</p> <p>Can anyone explain why this is happenning.</p> <p>P.S. I do know that I should remove it in <code>viewDidUnload</code> I'm just curious about the lower level details.</p>