http://developer.apple.com/library/ios/#documentation/general/conceptual/DevPedia-CocoaCore/MVC.html
Объекты модели инкапсулируют данные, специфичные для приложения, и определяют логику и вычисления, которые манипулируют и обрабатывают эти данные ...
Объект представления - это объект в приложении, который пользователи могут видеть ...
Объект контроллера действует как посредник между одним или несколькими объектами представления приложения и одним или несколькими объектами его модели. Контроллерные объекты, таким образом, представляют собой канал, через который объекты представления узнают об изменениях в модельных объектах и наоборот. Объекты контроллера также могут выполнять задачи по настройке и координации приложения и управлять жизненными циклами других объектов ...
Если вы просто хотите отобразить некоторый контент, тогда все, что вам нужно, - это представления, нет необходимости в моделях или контроллерах, если моделировать нечего и вам не нужен контроллер для управления этими представлениями.
Даже если эти представления построены на основе некоторых моделей, нет необходимости обязательно присваивать каждому свой собственный объект контроллера. Вместо этого у вас может быть представление сетки с делегатом источника данных, который он может запросить для отображения ячеек, очень похоже на UITableView.
Что представляют собой ваши ячейки сетки? Имеет ли смысл иметь объект модели, фиксирующий независимое от представления поведение и состояние для этих данных?
пс. Я нашел этот пример, это правильно? Нужно ли создавать контроллер, а затем добавить его представление в mainView и освободить контроллер?
Не делайте этого, это неправильное использование UIViewController и может привести к путанице. Если вам просто нужен объект просмотра, просто создайте объект просмотра. Вы можете загружать объекты из пера, не создавая дополнительный объект контроллера, как это. Посмотрите на NSBundle или UINib для альтернативных способов загрузки объектов из файлов пера.