Лекция 9 CS193P Spring 2020 — Поток данных (Data Flow).

На Лекции 9 курса Стэнфорда  CS193p — «Developing  Application for iOS» («Разработка приложений для iOS») Пол Хэгерти рассматривает супер важную тему — Property Wrappers (“Обертки Свойства”). Мы наконец-то поймем, что такие вещи, как @State и @Published, делают “под капотом”. Далее профессор слегка затрагивает тему “издателей” Publishers, потому что если мы начинаем говорить о @Published, то быстро приходим к этой очень важной теме, однако на этой Лекции 9 дается лишь некоторый обзор на эту тему, более подробно эта тема будет обсуждаться позже. 

Затем мы погружаемся в демонстрационный пример, в котором профессор показывает нам где, когда и как используются “издатели” Publishers, а также говорит о @Binding, который является новой для нас Property Wrapper (“Оберткой Свойства”). Сочетание этих двух механизмов позволяет нам ссылаться на «единственный источник истины» (source of truth) для данных, а не требовать их копирования, что может быть подвержено ошибкам.

Читать далее

Лекция 8 CS193P Spring 2020 — Жесты JSON.

На Лекции 8 курса Стэнфорда  CS193p — «Developing  Application for iOS» («Разработка приложений для iOS») вначале на слайдах, а затем в демонстрационном примере, рассматривается одна короткая тема:  легковесное постоянное хранилище (persistent store) UserDefaults, и одна большая главная тема  — жесты Gestures, как источник ввода информации пользователем с помощью его пальцев. Далее следует большой демонстрационный пример, в котором обеспечивается превращение Модели EmojiArt документа в JSON и хранения его в UserDefaults. Но главные усилия в этом демонстрационном примере направлены на реализацию жеста pinch, с помощью которого можно масштабировать  EmojiArt документа, и жеста pan, с помощью которого можно перемещать EmojiArt документ по экрану. Это НЕ-дискретные жесты, и в SwiftUI есть специальная технология, основанная на использовании @GestureState переменных и пары модификаторов жестов .updating и .onEnded, которую профессор и демонстрирует. По ходу демонстрации профессор также показывает ряд других крутых вещей наподобие анимированных шрифтов.

Читать далее