Jaka jest różnica między addChildViewController i presentModelViewController

Wiem, że są trzy sposoby zmiany widoku w iOS

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 wymaga kontrolera nawigacyjnego, który rozumiem. Jednak kiedy używać addChildViewController i presentModalViewController ??

questionAnswers(2)

yourAnswerToTheQuestion