There are in general two common types of view controllers. Most of the apps use a mix of these two types of view controllers.
Content View Controller
These are view controllers that manage a small piece of app’s content and they are the main type of view controller we create and utilise.
Container View Controller
Container view controllers collect information from child view controllers and present it in a way that facilitates navigation or display their information in different ways.