It being an observer is much like calling a dead person who will never pick up the phone
Exactly!
Your phone number in this case is a memory address, which will be dereferenced once the notification center tries to call the observer. Now, what do you expect to be at this memory address once the View Controller has been deallocated? We can’t know.
But you certainly don’t want to call a method (that’s what the notification center does) on an object which might not be there anymore or even have been replaced by something completely different (an image for instance).
To add a real world example: It’s more like relying on that your car (the view controller) is at a specific place in the garage (the memory address). You absolutely rely on your car to be there, so you don’t even look if it’s there when you want to get in. Now, pretend somebody removed (deallocated) your car, but you still rely on it being there. It’ll surely be a painful experience to get into and sit down in a car that is no longer there.