Почему контроллер XCode использует префикс xxxViewController вместо xxxController? - PullRequest
1 голос
/ 28 января 2012

Я не понимаю: во всех руководствах по iOS он показывает классическую модель из трех частей: модель, представление, контроллер, тогда почему префикс контроллера XCode с xxxViewController вместо xxxController?

Это дает основание полагать, что контроллер предназначен только для просмотра, а не для модели и так близок к MVVM, как классический MVC.

В данных ответах говорится, что это не MVC.

Но если я взгляну на курс Стэндфордского университета, он ясно изображает разработку iOS как классический MVC в Lecture1.pdf @ http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-fall

enter image description here

Ответы [ 2 ]

1 голос
/ 28 января 2012

XCode не делает это для всех контроллеров, только для контроллеров представления (которые являются подклассами UIViewController).Это облегчает поиск тех, кто управляет представлениями. Вы можете создавать другие контроллеры и называть их как хотите.

0 голосов
/ 28 января 2012

Как комментирует g_wolfman в этой ветке обсуждения Apple :

Несмотря на то, что Apple использует термин MVC в своей документации для разработчиков, они фактически его не используют;они используют вариант [Presentation-Abstraction-Control (PAC) | http://en.wikipedia.org/wiki/Presentation-abstraction-control].

Ключевое отличие состоит в том, что в MVC представление получает информацию непосредственно из модели, а контроллер занимается только изменением модели.,Следовательно, представление может нуждаться в знании того, как преобразовать данные из модели как часть создания представления.В PAC вид и модель полностью изолированы друг от друга;все проходит через контроллер.Это позволяет отображать представление таким образом, чтобы избежать необходимости в какой-либо «бизнес-логике».

РЕДАКТИРОВАТЬ - - из документа Apple - http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaDesignPatterns/CocoaDesignPatterns.html#//apple_ref/doc/uid/TP40002974-CH6-SW1

Объединение ролей

Можно объединить роли MVC, которые выполняет объект, заставляя объект, например, выполнять роли контроллера и представления - в этом случае он будет называться контроллером представления.Таким же образом вы можете также иметь объекты модель-контроллер.Для некоторых приложений комбинирование таких ролей является приемлемым дизайном.

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