В чем разница между 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:
Вид - это объект, который рисуется на экране. Он также может содержать другие виды (подпредставления), которые находятся внутри него и перемещаются вместе с ним. Представления могут получать сенсорные события и изменять свое визуальное состояние в ответ. Представления тупые и не знают о структуре вашего приложения, и им просто говорят отображать себя в каком-то состоянии.
Контроллер вида не отображается непосредственно на экране, он управляет группой объектов вида. Контроллеры представления обычно имеют одно представление со многими подпредставлениями. Контроллер представления управляет состоянием этих представлений. Контроллер представления умен и знает внутреннюю работу вашего приложения. Он говорит тупому виду объектов, что делать и как показать себя.
Контроллер представления является связующим звеном между вашим общим приложением и экраном. Он контролирует принадлежащие ему представления в соответствии с логикой вашего приложения.