в модели проектирования MVC, кто представляет модель, представление, контроллер? - PullRequest
0 голосов
/ 14 марта 2011

Я не уверен, что представляет модель, вид и контроллер. Если я возьму пример приложения, основанного на контроллере таблиц, могу ли я сказать, что tableview (xib) - это вид и модель (какой-то другой файл .m с данными для этой табличной ячейки)? а контроллер это .m файл?

Я взял это изображение из ссылки этого яблока

nib's representation

Ответы [ 2 ]

3 голосов
/ 15 марта 2011

Модель, представление и контроллер - это три разные роли, которые объекты могут играть в приложении.

Объектами модели являются те, которые хранят данные и, зачастую, логику, которая связывает различные части данных друг с другом.Когда пользователь делает что-то значимое в приложении, он часто вносит какие-то изменения в объекты модели.

Объекты в роли «представления» составляют интерфейс приложения с внешним миром.Пользователь взаимодействует с объектами просмотра.Просмотр объектов знает, как отображать информацию и собирать пользовательский ввод, но он не принимает никаких решений относительно того, что делать с данными.

Контроллеры являются посредниками между двумя другими типами объектов.Если приложению необходимо отобразить некоторые данные, контроллер извлекает данные из объекта (ов) модели и дает их для просмотра объектов для отображения.Когда пользователь вызывает какое-либо действие (скажем, он нажимает кнопку), контроллер решает, как реагировать.

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

0 голосов
/ 14 марта 2011

Ссылка ниже является отличным учебным пособием по дизайну и созданию небольшого приложения для iPhone. В конце урока автор интерпретирует и объясняет приложение в отношении дизайна модель-представление-контроллер.

Дизайн приложения для iPhone

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...