Your ViewController should observe changes to the model and update it's view hierarchy, whose root is self.view.
- (void)viewDidLoad {
[super viewDidLoad];
// observe the model, via kvo, or subscribe to notification, or make self == somebody's delegate, etc.
}
- (IBAction)doSomething:(id)sender {
// change the model [self.model change]
// or start a web request with self as delegate
}
// called by kvo or delegate or notification or [self modelDidChange];
- (void)modelDidChange {
// update self.view or children viewWithTag: or outlets setup to subviews
}
UIViewController, that will have a "View" as well as a "Controller".