Лекция 5. Свойства Layout @ViewBuilder. CS193P Spring 2021.

Это пятая Лекция курса Stanford CS193p, весна 2021 года, и на этой лекции профессор затронул множество тем, связанных как со SwiftUI, так и непосредственно с языком программирования Swift

По SwiftUI рассматриваются четыре чрезвычайно важных темы:

  1. @State.
  2. Система Layout (управление расположением Views) в SwiftUI.
    1. HStack и VStack.
    2. LazyHStack и LazyVStack, LazyHGrid и LazyVGrid.
    3. GeometryReader. CGSize, CGFloat, CGRect.
    4. ZStack и .background и .overlay.
  3. View модификаторы
  4. @ViewBuilder. 

Что касается языка программирования Swift, то профессор Пол Хэгерти продолжает выполнять своё обещание рассказывать о Swift «с нуля» и на этой Лекции 5 освещает темы, которые проще всего показать на демонстрационных примерах:

  1. Управление доступом (private, private (set) и другие).
  2. Вычисляемые свойства (get{} и set {}).
  3. Расширения extension
  4. Функциональное программирование. 
  5. Наблюдатели свойств (Property Observer) и их отличие от вычисляемых свойств. 
  6. Оформление констант в Swift.
  7. typealias, «вывод ТИПа из контекста» (inference),  “подчеркивание” “ _” внешнего имени параметра.

Читать далее

Лекция 4. Больше о MVVM enum Optional. CS193P Spring 2021.

Это четвертая Лекция курса Stanford CS193p, весна 2021 года, и она сразу начинается с продолжения демонстрационного примера прошлой Лекции 3, на которой были сконструированы модель Model и ViewModel для карточной игры «на запоминание» MemorizeView  (то есть UI) мы создали на Лекциях 1и 2. На этой Лекции архитектура MVVM реализуется во всей своей реактивной мощи.

После того, как MVVM заработает, профессор возвращается к слайдам, чтобы вкратце поговорить о двух вещах. Первая  — это еще один системный ТИП Swift, называемый перечислением enum, а вторая — это специальная версия перечисления enum, называемая Optional. Наверное, это одно из самых важных перечислений enum, если не самое главное enum во всем Swift.

Читать далее