How to recreate UIViewController stack?
I'm writing a 'load' feature for my current iPhone app.

Practically what I want to do is get the user back where s/he left off. To do so I want to recreate all the `UIViewController`s appeared before.

My problem is the `UIViewController`s won't appear if I simply call `[[self navigationController] pushViewController:newController animated:YES];`.

The same code works fine when invoked as an event handler, like after touching a button. But if I do same without an even (for ex. in `viewDidLoad`) the new view controller's `loadView` method won't get called.

My actual code (with some pseudo elements):

    - (void)viewDidLoad {
        [super viewDidLoad];
    	if (loading)
            [self onSomeEvent];
    }

    - (void)onSomeEvent {
        UIViewController *newController = //init....;
        [[self navigationController] pushViewController:newController animated:YES];
        [newController release];
    }

I guess `viewDidLoad` is not the right place to do such a call, but then what is?
How to recreate UIViewController stack?
===

I'm writing a 'load' feature for my current iPhone app.

Practically what I want to do is get the user back where s/he left off. To do so I want to recreate all the `UIViewController`s appeared before.

My problem is the `UIViewController`s won't appear if I simply call `[[self navigationController] pushViewController:newController animated:YES];`.

The same code works fine when invoked as an event handler, like after touching a button. But if I do same without an even (for ex. in `viewDidLoad`) the new view controller's `loadView` method won't get called.

My actual code (with some pseudo elements):

    - (void)viewDidLoad {
        [super viewDidLoad];
    	if (loading)
            [self onSomeEvent];
    }

    - (void)onSomeEvent {
        UIViewController *newController = //init....;
        [[self navigationController] pushViewController:newController animated:YES];
        [newController release];
    }

I guess `viewDidLoad` is not the right place to do such a call, but then what is?