presentModalViewController vs. pushViewController

nod*_*nja 1 xcode cocoa-touch objective-c uiviewcontroller

I can show a different view with this code:

[self presentModalViewController:childView animated:nil];
Run Code Online (Sandbox Code Playgroud)

This code should do the same thing, right?

[self.navigationController pushViewController:childView animated:YES];
Run Code Online (Sandbox Code Playgroud)

But it doesn't do anything. Why is that?

ssj*_*ssj 5

pushViewController only works in navigation controllers

presentModalViewController works for all view controllers