Различный вид контроллера и вид в объективе - PullRequest
0 голосов
/ 22 сентября 2011

Я новичок в Objective-c, я хочу спросить, в чем разница между контроллером представления и представлением, таким как "UITableView" и "UITableViewController"?

Что произойдет, если я использую UITableView вместо UITableViewController?

Спасибо

Ответы [ 3 ]

1 голос
/ 22 сентября 2011

Вы должны посмотреть шаблон Model-View-Controller в документации Apple, так как он очень важен для использования Какао. По сути, идея Model-View-Controller - это шаблон для проектирования структуры вашего класса. В целом, модель - это место, где должны храниться данные приложения. Вид - это то, что контролирует внешний вид приложения, а контроллер - это место, где они собраны. (В идеале классы вида и модели даже не должны знать о существовании другого).

Следовательно, UITableView и UITableViewController - это два разных класса с двумя разными целями. UITableView контролирует внешний вид данных, а UITableViewController «контролирует» представление (как правило, передавая ему правильные данные для отображения и компоновки). Поскольку этот паттерн снова и снова появляется в программировании Какао, вам нужно некоторое время, чтобы ознакомиться с ним.

0 голосов
/ 22 сентября 2011

Ну, краткий ответ: один - это вид, а другой - контроллер. Объедините это с вашими данными (модель), и у вас есть все части MVC (модель - представление - контроллер).

Подумайте об этом, UITableViewController контролирует UITableview. Они дополняют друг друга и нуждаются друг в друге для работы.

0 голосов
/ 22 сентября 2011

Это две разные вещи, их нельзя заменить другой.

iOS следует шаблону проектирования MVC, который обозначает Model-View-Controller.Два упомянутых вами класса - это две части общей головоломки.

Вид - это то, что отображается на экране.Это его ответственность.Таким образом, TableView отвечает за сообщение телефону о том, что отображать на экране.

Вид также сопровождается контроллером.Контроллер решает, что делать, когда что-то происходит (взаимодействие с пользователем и другие события, которые могут произойти в любое время).Таким образом, TableViewController отвечает за то, чтобы таблица выполняла какие-либо функции (например, сообщала TableView, какие данные использовать для отображения на экране).

Итак, подведя итог, они совершенно разные, но работаюточень близко друг к другу в вашем приложении (у вас почти всегда будет 1 контроллер для каждого вида.

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