Was ist der Unterschied zwischen addChildViewController und presentModelViewController?

Ich weiß, dass es drei Möglichkeiten gibt, die Ansicht in iOS zu ändern

1.

[self addChildViewController:thirdViewController]; 
[contentView addSubview:thirdViewController.view]; 

2.

First * sVC = [[First alloc] initWithNibName:@"First" bundle:[NSBundle mainBundle]]; 
[self presentModalViewController:sVC animated:YES];

3.

MyViewController *sampleViewController = [[[MyViewController alloc]initWithXXX] autorelease];       
[self.navigationController pushViewController: sampleViewController animated:true];

pushViewController benötigt den Navigationscontroller, den ich verstehe. Wann soll man jedoch addChildViewController und presentModalViewController verwenden?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage