В чем разница между View и ViewController?

Придя в Swift из Delphi, я подумал, что View представляет графический интерфейс приложения, а раскадровка - визуальное представление основного кода View. ViewController был единственным объектом, с которым взаимодействовал View. Когда популярный учебник говорит

В старые времена разработчики создавали отдельный интерфейсный файл для дизайна каждого контроллера представления.

Я думаю, что "отдельный файл интерфейса" был файлом View. Но когда я узнаю больше, я запутался. Под скриншотом пустой Main.storyboard из нового приложения, текст говорит

Официальной терминологией раскадровки для контроллера представления является "сцена", но вы можете использовать термины взаимозаменяемо. Сцена - это то, что представляет контроллер представления в раскадровке... Здесь вы видите один контроллер представления, содержащий пустое представление.

Итак, я вижу "один контроллер представления", а не представление?? Путаница монтируется, когда я замечаю, что любые представления (?), Отображаемые на раскадровке, называются "View Controllers" в Swift.

Итак, в чем разница между View и ViewController? Как раскадровка связана? И какой объект "владеет" чем-то вроде перехода, который существует вне моего (ошибочного) понимания этих концепций?

1 ответ

Решение

Взгляните на этот пост. В чем разница между View и View Controller?

Это описало это довольно хорошо для меня.

Если вы не хотите идти по ссылке, вот отличное описание разницы между view и view controller Alex Wayne:

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

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

Контроллер представления является связующим звеном между вашим общим приложением и экраном. Он контролирует принадлежащие ему представления в соответствии с логикой вашего приложения.

Другие вопросы по тегам