Модель, представление и контроллер - это три разные роли, которые объекты могут играть в приложении.
Объектами модели являются те, которые хранят данные и, зачастую, логику, которая связывает различные части данных друг с другом.Когда пользователь делает что-то значимое в приложении, он часто вносит какие-то изменения в объекты модели.
Объекты в роли «представления» составляют интерфейс приложения с внешним миром.Пользователь взаимодействует с объектами просмотра.Просмотр объектов знает, как отображать информацию и собирать пользовательский ввод, но он не принимает никаких решений относительно того, что делать с данными.
Контроллеры являются посредниками между двумя другими типами объектов.Если приложению необходимо отобразить некоторые данные, контроллер извлекает данные из объекта (ов) модели и дает их для просмотра объектов для отображения.Когда пользователь вызывает какое-либо действие (скажем, он нажимает кнопку), контроллер решает, как реагировать.
Все три типа объектов (и все другие объекты) определены в коде на некотором уровне, либов ваших собственных файлах исходного кода или в предоставленных ОС средах.Независимо от того, созданы ли сами объекты в коде или загружены из файла .xib, не имеет значения, какую роль они играют.