Animation

You may not always want to animate between the views. For example I use a SimpleIOSViewStack to provide tab bar functionality.  In order to have more control over what happens when a new UIViewController is pushed onto the stack an object can be supplied with the notification.  

The object is the SimpleIOSViewStackNotificationVO.

This object is also a Value Object in that it is a simple NSObject encapsulating a number of properties which are set at initialisation time and after that are "read only", which is what makes it immutable. SimpleIOSViewStackNotificationVO has two initialisers, one is used here and one in the Data section.

[[NSNotificationCenter defaultCenter]

            postNotificationName:@"show_another_view_controller"
                                   object: [

                                              [SimpleIOSViewStackNotificationVO alloc]
 
                                                      initWithAnimationFlag:NO
                                                              AndRemoveFlag:NO

                                             ]
         
                                   ];
 

More about the remove flag in a few pages.