2.1.2 iOS разработка на objective-c. Обзор iOS.

Автор Nadezhda Belousova
2.1.2 iOS разработка на objective-c. Обзор iOS.

Всем привет.

С вами снова. Евгений Мартынов мы продолжаем изучают нашу первую лекцию по обзору овес и. Давайте вспомним, что у нас было в первой части до участием с вами закончили на том, что мы рассмотрели наши предложения с точки зрения методологии.

МВФ который говорит нам, что каждый классу относится к какой-либо какому-либо лагерь да то есть у нас есть лагеря модуль есть лагерь контрольных есть видео они могут между собой взаимодействовать по четко заданным правилам соответственно контроллер может беспрепятственно всегда обращаться к моделей до запрашивание всё, что ему потребуется и контроля всегда может обращаться к пью и делать с ней общаться.

Всё, что ему захочется да. Но между собой пью и моду эти классы взаимодействуют между собой не могут и не должны соответственно. Давайте зададимся вопросом, а может не пью инициировать взаимодействие с контролем над допустим у нас loview есть кнопка. Батл и нам нужно контролировать каким-то образом сигнализировать о том, что кнопка у нас нажимается или ножи ножи, тогда в данный момент. Ну вот та вот — это вот взаимо при нажатой кнопке она выполняет с таким образом то есть контроля вывешивают у себя цель — это и выручает в ухе действия стрелки говорит в его когда ты делаешь например. Нажимаешь на кнопку да то пошли мне — это действие Action в этом способе кнопка или ползунок взаимодействует с контроллером и они понятия не имеют является ли контроллер контроль. Они вообще не знаю даже. Какого типа этот контроллер всё, что они знают — это когда что-то происходит с этим. Да они посылают. Ну именно то, что нам должно произойти они посылают сообщения в цель в. Таргет — это слепой структурированный способ для взаимодействия с сервером. Вот, но иногда между View и контролем происходит более сложное взаимодействие чем просто что-то произошло необходимо информировать контроллер о том, что происходит и синхрония это, что происходит, но и. Единственный способ — это сделать заключается в — это Will Shoot it допустим у нас есть scrollview которая сканирует до что-либо допустим список песен и нам нужно сообщить контроллеру, что пользователь только, что выполнил скалирование до видеть либо будет с королевой да то есть допустим прикоснулся до её сейчас будет сканировать вы либо в данный момент он сканируем да вот ищу то есть идёт скалирование и нашему наши вьюхина scrollview ей нужно понимать, что в этот момент ей нужно выполнять если ты прописан наконец-то условия to View он абсолютно не. Панацея он не может сам принять решение у него нету никакой логики обращается контролю для того чтобы контролёр за него принял решение, что сейчас в данный момент нужно сделать. То есть делегирует полномочия. Да почему. Дикие танцы делегирует полномочия ответа на эти вопросы вот в данный момент, что ему делать другому объекту контролирую класс этого объекта. Всё, что он знает — это то, что другой объект будет отвечать на эти вопросы. Нет То следует ли разрешить скалирование. Да я уже с королева до этой точки. Что делать дальше вот эти методы мы видим в делегировании протокол — это слепой способ разговаривать с другим объектом — это очень важная вещь которую нужно понимать. Это то, что пью данными которые на отображают другими словами не должно быть Property внутри View которая хранит все данные никаких свойств внутри View быть не должно она выполняет чётко свою функцию отображения данных всё что. Какие данные нужно передавать за — это отвечают контроля допустим ну и соответственно контроллер обращается к модели. Да и запрашивает данные которым должен передать во View Controller говорит в юбках данные смотрели самый лёгкий способ пример — это музыка в нашем. Айфоне липатти у нас там может быть 1000 песен. Да и он и есть некоторые юзер интерфейс то мы не можем содержать в сети 1000 песен для того чтобы отображать — это просто не абсолютно не эффективна в сети 1000 песен принадлежат модели то есть какой-то базе данных ничего не может делать с пользовательским интерфейсом с вами помним — это да то есть. Они между собой не взаимодействуют. Вот и контролю не. Взглянуть на эту базу данных и рассказать View. Как нужно отобразить все эти песни и когда мы касаемся экрана для переворачивания страницы рассказать, что нужно подкачать ещё песня. Вот так вот такое взаимодействие по поводу того подкачай называется datasource delegate она как раз и отвечает за функция он подобен другим типом делегирование, но вместо Will ищут бит сообщение. Да — это делегат спрашивает дата ориентированного полосатость. Сколько сколько у нас песен. Вот и контроля запрашивает умножила и отвечает 1000 View внутренние настраиваться на 10000 песен запускается scrollbottom. Да и восстанавливает. Ивана пролистывание 3.000 элементов соответственно контроллер. Говорит дай мне 10 элемента да то есть контроля запрашивает у моря аренда менее 10 элементов допустим со 150 строчки или элемента до забирает этого модного и передает во View эти 10 элементов соответственно когда мы вскрыли дальше через datasource не понимаю, что мы открыли балете 10 элементов запрашивает следующие десять да то есть допустим. С 200 ушла и опять передаёт следующие действия элемента. То есть datasource — это специальный делегат для получения данных мы с. Вами познакомимся с классами которые имеют дата, а также делегирование наиболее сложные классы имеют делегирование, а также willgrade ищут. Да некоторые из них имеют datasource. Это зависит от того отображает ли данные класс большое количество данных и. Давайте еще рассмотрим такую интересную вещь как может модель да разговаривать напрямую с контроллером.

0 комментариев
0

Читайте также