I think it's a very very bad approach.
Every argument in you comment is right:
I feel that it is not a very good idea because there is no type checking for the notification.object.
of course.
And the notification based architecture is a broadcast system because it uses the same name for all notifications.
Unless intended, that makes absolutely no sense.
In addition, initializing all UIViews and UIViewControllers at the start cost a lot of memory. However, I haven't seen any memory warning from the console but in console.app when using organizer.
Yes, it's wasting memory even though no memory warnings are fired. UIView
s and UIViewController
s have their own lifecycle, and the SDK provide you with the methods to load and unload (alloc and release) resources just when you have to.
Apart from that, communications between controllers should be done through @property
s, protocols or any other methods provided by the SDK.
From Apple docs:
An observer of a given notification may be in a suspended state and not processing notifications immediately.
So you cannot rely on them to perform, let's say, crucial tasks.