Название «View Controller» в программировании iOS немного запутанно, так как оно включает в себя как слова «Вид», так и «Контроллер» в модели MVC. Является ли «View Controller» фактически просто другим именем Controller (поскольку представление на самом деле в основном выполняется с помощью Interface Builder). Почему он называется «View Controller»? Это связано с тем, что этот контроллер выполняет все обновления свойств вида и обработку событий?В программировании IOS, является ли «Контроллер просмотра» фактически контроллером?
ответ
Да, a UIViewController
живет внутри слоя «Контроллер» MVC. Но это специальный контроллер, который контролирует и обновляет представление. Контроллеры просмотра также могут обрабатывать события, потому что они происходят от UIResponder
.
Вы также можете создавать общие контроллеры путем подкласса NSObject
. Например, контроллер учетных записей, который управляет учетными записями и т. Д. Фактически вы обнаружите другие классы контроллеров в SDK iOS, например. UIDocumentInteractionController
.
Из Руководства программирования IOS View Controller:
Для IOS приложений, просматривать контроллеры обеспечивают жизненно важную связь между данными приложения давал и ее внешний вид. Понимание того, когда и , как использовать контроллеры представлений, имеет решающее значение для дизайна приложений iOS . Контроллеры просмотра являются традиционными объектами контроллера в парадигме проектирования Model-View-Controller, но они также делают гораздо больше. В приложениях iOS контроллеры представлений обеспечивают большую часть необходимой логики для управления основными типами приложений. Например, диспетчеры просмотра управляют представлением и удалением содержимого с экрана, а управляют переориентацией представлений в ответ на изменение настроек ориентации устройства .
«Контроллер» следует за контроллером. Если бы я писал контроллер для стула, я бы назвал его председателем. Поскольку UIView контролируется, имеет смысл называть его UIViewController правильно? Само представление несет ответственность только за отображение, но логика того, что отображать, зависит от его контроллера.
+1 для председателя –
От компании Apple Docs - http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIViewController_Class/Reference/Reference.html
Класс UIViewController обеспечивает фундаментальную модель показов управления для всех IOS приложений.
В основном это контейнер для ваших взглядов и обрабатывает больше логики, чем просто визуальный дисплей, который ваш вид делает.
В случае необходимости контроллер вида:
- изменяет размеры и выкладывает свои взгляды
- регулирует содержание взглядов
- действуют от имени взглядов, когда пользователь взаимодействует с ними
Вы должны увидеть «View Controller "как" Класс, который управляет видом ".
Это классический Model View Controller pattern (MVC).
A UIViewController
имеет вид UIView
, и вы обновляете этот UIView
в зависимости от ваших бизнес-объектов (модели) для каждого конкретного контроллера.
Кроме того, события, которые происходят на вашем UIView
, отправляются обратно на ваш UIViewController
для правильной обработки их.
- 1. Контроллер корневого контроллера окна не является контроллером раздельного просмотра
- 2. IOS: передача данных между пользовательским контроллером представления и контроллером просмотра
- 3. Как проверить, является ли контроллер представления исходным контроллером? (SWIFT 3)
- 4. Можно ли использовать контроллер просмотра страницы с контроллером Single View?
- 5. Поддерживает ли контроллер просмотра страниц iOS 4.3
- 6. Является ли контроллер rails g контроллером несколько раз безопасным?
- 7. cocos2d с контроллером просмотра
- 8. Просмотр управления контроллером в IOS
- 9. iOS (ipad) контроллер просмотра разделов
- 10. iOS: текущий контроллер просмотра programallyallly
- 11. iOS MVC Является ли это представлением или контроллером?
- 12. Является ли parentViewController всегда навигационным контроллером?
- 13. Тревога, представляющая конкретный контроллер просмотра вместо уведомлений для iOS 10
- 14. Является ли загрузочный файл контроллером?
- 15. Обнаружение того, является ли компьютер контроллером домена
- 16. Как связать приложение с определенным контроллером просмотра
- 17. Является ли диспетчер-сервлет весной MVC - контроллером?
- 18. Является ли абстрактным контроллером CRUD хорошей идеей?
- 19. MVC фактически контроллер против filterContext.Controller
- 20. Контроллер UART или контроллер RS232? Является ли UART общим словом?
- 21. UITabBarController с контроллером навигации контроллер детского просмотра по прикосновению
- 22. Автоматическая компоновка с навигационной панелью и контроллером просмотра (iOS 7)
- 23. Подробный контроллер просмотра
- 24. Является ли случайным реальным в программировании?
- 25. Является ли научный метод, используемый в программировании?
- 26. Пользовательский контроллер просмотра композитных сообщений для iOS
- 27. Перетащите контроллер просмотра таблицы таблиц в контроллер просмотра
- 28. iOS TvOS Tab Bar с навигационным контроллером
- 29. Как сделать обновление UITableView с делегатом и источником данных, даже если контроллер просмотра является «дочерним» контроллером?
- 30. Является ли последовательное чтение диска фактически последовательным?
Он управляет объектом UIView. –