UIKit

Фреймворк от Apple с большой библиотекой классов и императивным синтаксисом
Фреймворк UIKit — это большая библиотека классов, представляющая из себя набор элементов пользовательского интерфейса и инструментов для работы с ними.
В документации по данному фреймворку сказано, что он предоставляет все необходимые инструменты для реализации интерфейсов, а так же инфраструктуру обработки событий от мультитач жестов. Кроме того он дает возможность управлять взаимодействием между пользователем, системой и приложением с помощью различных элементов управления, таких как кнопки, лейблы, текстовые поля и прочих в числе которых такие элементы, как `UITableView`, `UIImageView` или просто `UIView`.

Для лучшего понимания структуры фреймворка UIKit необходимо знать о таком базовом понятии, как наследование, т.к. множество классов данной библиотеки наследуются друг от друга. У всех UIKit классов есть один общий предок `NSObject`, от которого произошли все остальные классы.
Если взглянуть на эту схему, то слева мы видим самый первый класс, который является для всех остальных классов родительским. Это класс `NSObject`. Справа же у нас располагаются такие классы, как `UIButton`, `UILabel`, `UITableView` и т.д. Если проследить всю историю класса UIButton то мы дойдет до самого первого предка `NSObject`. При этом класс `UIButton` унаследовал всю логику и все свойства его прародителей, начиная от его суперкласса `UIControl` и заканчивая классом `NSObject`.

Схема отображает структуру классов, а с их описанием можно ознакомиться все в том же справочном руководстве по фреймворку, где содержится описание всех классов их свойств и методов.

Работа с элементами объектной библиотеки UIKit подробно рассматривается в курсе "Мои первые приложения на Swift"
Предлагаем вам ознакомиться с нашим курсом "Первые приложения на Swift"
Урок 1

СРЕДА РАЗРАБОТКИ XCODE. РАБОТА С GIT БИБЛИОТЕКА ОБЪЕКТОВЗНАКОМСТВО С ИНТЕРФЕЙС БИЛДЕРОМ
  • Учимся проектировать интерфейс на примере приложения Hello World.
    • Стандартные шаблоны приложения
    • Storyboard
    • UIViewController
    • Элементы интерфейса (UIButton, UILabel и т.д.)
    • AutoLayout
  • Расстановка элементов интерфейса при помощи констрейнтов
  • Объединение элементов интерфейса в StackView
  • Соединяем элементы интерфейса с кодом
РАБОТА С GIT Урок 2

ЭЛЕМЕНТЫ ОБЪЕКТНОЙ БИБЛИОТЕКИ UIKIT
  • UISegmentedControl
  • UILabel
  • UITextField
  • UIButton
  • UISlider
  • UISwitch
  • UIScrollView
  • UIDatePicker
Урок 3

КОНТРОЛЬ И ПРИВЕДЕНИЕ ТИПОВ
  • Контроль типов
  • Приведение типов
  • Работа с типом Any
NAVIGATION CONTROLLER
  • переходы между контроллерами представлений
  • создание переходов
  • возврат в исходное состояние
  • добавление и настройка контроллера навигации
  • навигационная панель
  • элементы навигации
  • увеличение заголовка
  • передача информации между контроллерами
  • создание переходов программным способом
Урок 4

АРИХИТЕКТУРА MVC
  • Архитектура MVC
  • Определение Model, View, Controller
  • Советы по созданию вью контроллеров
ПОШАГОВЫЙ ПРОЕКТ: PERSONALITY QUIZ — ПЕРСОНАЛИЗИРОВАННЫЙ ОПРОСНИК
  • Создание интерфейса
  • Модели данных
  • Добавление вопросов и ответов
Урок 5

ПОШАГОВЫЙ ПРОЕКТ: PERSONALITY QUIZ — ПЕРСОНАЛИЗИРОВАННЫЙ ОПРОСНИК, ЧАСТЬ ВТОРАЯ
  • Работа с вью контроллерами
  • Работа с бизнес логикой приложения
Урок 6

ПРОТОКОЛЫ
  • CustomStringConvertable
  • Equatable
  • Comparable
  • Codable
  • Создание собственного протокола
  • Делегирование
Урок 7

UITABLEVIEW
  • UITableViewController
  • UITableView
  • UITableViewDataSource
  • UITableViewDelegate
  • UITableViewCell
Урок 8

ЖИЗНЕННЫЙ ЦИКЛ UIVIEWCONTROLLER
  • viewDidLoad
  • viewWillAppear
  • viewWillLayoutSubviews
  • viewDidLayoutSubviews
  • viewDidAppear
  • viewWillTransitionToSize
  • viewWillDisappear
  • viewDidDisappear
ЖИЗНЕННЫЙ ЦИКЛ ПРИЛОЖЕНИЯ
  • didFinishLaunchingWithOptions
  • applicationWillResignActive
  • applicationDidEnterBackground
  • applicationWillEnterForeground
  • applicationDidBecomeActive
  • applicationWillTerminate
Урок 9

COCOAPODS И РАБОТА С АНИМАЦИЯМИ
  • Понятие Cocoa
  • CoreAnimation
  • Пример кода для базовой анимации
  • Понятие CocoaPods и фреймворков
  • Работа с CocoaPods в терминале
  • Интеграция CocoaPods в проект
  • Фреймворк Spring для работы с анимацией
Урок 10

СЕТЕВЫЕ ЗАПРОСЫ С ИСПОЛЬЗОВАНИЕМ URLSESSION
  • Знакомство с API URLSession
  • HTTP запросы
  • URLSessionDataTask
  • Загрузка изображения из сети
JSON
  • Анатомия JSON формата
  • Модель данных
  • Парсинг JSON
  • JSONDecoder
  • Обработка ошибок
Урок 11

URLSESSION
  • From snake_case to camelCase
  • POST Request
ALAMOFIRE
  • Знакомство с фреймворком Alamofire
  • Парсиг JSON с использованием Alamofire
  • Status Code
  • Валидация данных
  • responseJSON
  • responseData
  • responseString
  • response
  • POST Requests
Урок 12

USERDEFAULTS
  • Знакомство с классом
  • Примеры сохранения и восстановления данных
  • Работа с моделями
PLIST FILE IMAGE CACHING Урок 14.

РАБОТА С ДАННЫМИ С ИСПОЛЬЗОВАНИЕМ COREDATA
  • Подготовка приложения для работы с CoreData
  • Знакомство с фреймворком
  • Сохранение данных
  • Восстановление данных
Урок 14

ПОШАГОВЫЙ ПРОЕКТ: TODO LIST С ИСПОЛЬЗОВАНИЕМ REALM
  • Знакомство с фреймворком Realm
  • Создание моделей для хранения данных в Realm
  • Добавление объектов в базу
  • Запрос к базе данных
  • Отображение данных в интерфейсе приложения
  • Обновление данных
Урок 15

REALM. ЧАСТЬ 2
  • Добавление данных в базу через интерфейс приложения
  • Редактирование данных
  • Удаление данных
  • Применение фильтров
  • Сортировка
  • Кастомизация интерфейса приложения
Урок 16

РАБОТА С ПАМЯТЬЮ
  • Memory Basics
  • Finding and Fixing Memory Leaks
  • Types of References
  • Retain Cycles in Closures
Время изменяться
Научитесь программировать на UIKit от Apple
Made on
Tilda