Перевод документации на русском языке вы можете прочитать на сайте SwiftBook.ru
Перевод осуществлен https://github.com/IvanAkulov. Если вы хотите внести свой вклад, то вы можете:
- помочь найти опечатки
- откорректировать неточные формулировки
- предложить другой перевод терминов
Swift 4.2
- О языке Swift
- Знакомство со Swift
- Простые типы данных
- Управление потоком
- Функции и замыкания
- Объекты и классы
- Перечисления и структуры
- Протоколы и расширения
- Обработка ошибок
- Универсальные типы
- Основы
- Константы и переменные
- Комментарии
- Точки с запятой
- Целые числа
- Числа с плавающей точкой
- Строгая типизация и Вывод типов
- Числовые литералы
- Преобразования числовых типов
- Псевдонимы типов
- Логические типы
- Кортежи
- Опциональные типы
- Утверждения
- Базовые операторы
- Терминология
- Оператор присваивания
- Арифметические операторы
- Cоставные операторы присваивания
- Операторы сравнения
- Тернарный условный оператор
- Оператор объединения по nil
- Операторы диапазона
- Логические операторы
- Строки и символы
- Строковые литералы
- Инициализация пустых строк
- Изменчивость строк
- Строка является типом значения
- Работа с символами
- Конкатенация строк и символов
- Интерполяция строк
- Юникод
- Типы коллекций
- Изменчивость коллекций
- Массивы
- Множества
- Словари
- Управление потоком
- Циклы For-in
- Циклы While
- Условные операторы
- Ранний выход
- Операторы передачи управления
- Проверка доступности API
- Функции
- Объявление и вызов функций
- Параметры функции и возвращаемые значения
- Имена параметров функций
- Функциональные типы
- Вложенные функции
- Замыкания
- Замыкающие выражения
- Последующее замыкание
- Захват значений
- Замыкания являются ссылочным типом
- Сбегающие замыкания
- Автозамыкания
- Перечисления
- Синтаксис перечислений
- Использование перечислений с оператором switch
- Связанные значения
- Исходные значения
- Рекурсивные перечисления
- Классы и структуры
- Сравнение классов и структур
- Структуры и перечисления - типы значения
- Классы - ссылочный тип
- Выбираем между классом и структурой
- Присваивание и копирование поведения для строк, массивов и словарей
- Свойства
- Свойства хранения
- Вычисляемые свойства
- Наблюдатели свойства
- Глобальные и локальные переменные
- Свойства типа
- Методы
- Методы экземпляра
- Методы типа
- Индексы
- Индексный синтаксис
- Использование индекса
- Опции индекса
- Наследование
- Определение базового класса
- Наследование подклассом
- Переопределение
- Предотвращение переопределений
- Инициализация
- Установка начальных значений для хранимых свойств
- Дефолтные инициализаторы
- Делегирование инициализатора для типов значений
- Наследование и инициализация класса
- Проваливающиеся инициализаторы
- Требуемые инициализаторы
- Начальное значение свойства в виде функции или замыкания
- Деинициализация
- Как работает деинициализация
- Деинициализаторы в действии
- Автоматический подсчет ссылок (ARC)
- Работа ARC
- ARC в действии
- Циклы сильных ссылок между экземплярами классов
- Замена циклов сильных ссылок между экземплярами классов
- Циклы сильных ссылок для замыканий
- Замена циклов сильных ссылок для замыканий
- Опциональная последовательность
- Опциональная последовательность как альтернатива принудительному извлечению
- Определение классовых моделей для опциональной последовательности
- Доступ к свойствам через опциональную последовательность
- Вызов методов через опциональную последовательность
- Доступ к индексам через опциональную последовательность
- Соединение нескольких уровней ОП
- Прикрепление методов к ОП с опциональными возвращаемыми значениями
- Обработка ошибок
- Приведение типов
- Определение классовой иерархии для приведения типов
- Проверка типа
- Понижающее приведение
- Приведение типов для Any и AnyObject
- Вложенные типы
- Вложенные типы в действии
- Ссылка на вложенные типы
- Расширения
- Синтаксис расширений
- Вычисляемые свойства в расширениях
- Инициализаторы в расширениях
- Методы в расширениях
- Сабскрипты в расширениях
- Вложенные типы в расширениях
- Протоколы
- Синтаксис протокола
- Требуемые свойства
- Требуемые методы
- Требуемые изменяющиеся методы
- Требуемые инициализаторы
- Протоколы как типы
- Делегирование
- Добавление соответствия протоколу через расширение
- Коллекции типов протокола
- Наследование протокола
- Классовые протоколы
- Композиция протоколов
- Проверка соответствия протоколу
- Опциональные требования протокола
- Расширения протоколов
- Универсальные шаблоны
- Проблема, которую решают универсальные шаблоны
- Универсальные функции
- Параметры типа
- Именование параметров типа
- Расширяем универсальный тип
- Ограничения типа
- Связанные типы
- Оговорка where
- Контроль доступа
- Модули и исходные файлы
- Уровни доступа
- Синтаксис уровня контроля
- Пользовательские типы
- Уровень доступа класса и подкласса
- Константы, переменные, свойства и сабскрипт
- Инициализаторы
- Протоколы и уровень доступа
- Расширения и уровни доступа
- Универсальный код. Псевдонимы типов
- Продвинутые операторы
- Побитовые операторы
- Операторы переполнения
- Приоритет и ассоциативность
- Операторные функции
- Пользовательские операторы
Swift 4.2
- Лексическая структура
- Типы
- Выражения
- Инструкции
- Объявления
- Атрибуты
- Шаблоны
- Параметры и аргументы универсального типа