├── .gitignore └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Created by https://www.gitignore.io/api/osx 3 | 4 | ### OSX ### 5 | *.DS_Store 6 | .AppleDouble 7 | .LSOverride 8 | 9 | # Icon must end with two \r 10 | Icon 11 | 12 | 13 | # Thumbnails 14 | ._* 15 | 16 | # Files that might appear in the root of a volume 17 | .DocumentRevisions-V100 18 | .fseventsd 19 | .Spotlight-V100 20 | .TemporaryItems 21 | .Trashes 22 | .VolumeIcon.icns 23 | .com.apple.timemachine.donotpresent 24 | 25 | # Directories potentially created on remote AFP share 26 | .AppleDB 27 | .AppleDesktop 28 | Network Trash Folder 29 | Temporary Items 30 | .apdisk 31 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # "The Swift Programming Language" in Russian 2 | 3 | Оригинал на английском языке 4 | 5 | 6 | ## Прочитать на сайте 7 | Перевод документации на русском языке вы можете прочитать на сайте **SwiftBook.ru** 8 | 9 | Немного о нас 10 | 11 | ## Перевод 12 | Перевод осуществлен https://github.com/IvanAkulov. 13 | Если вы хотите внести свой вклад, то вы можете: 14 | 15 | - помочь найти опечатки 16 | - откорректировать неточные формулировки 17 | - предложить другой перевод терминов 18 | 19 | ## Текущая версия перевода 20 | Swift 4.2 21 | 22 | ### Путеводитель по Swift 23 | 24 | * О языке Swift 25 | * Знакомство со Swift 26 | * Простые типы данных 27 | * Управление потоком 28 | * Функции и замыкания 29 | * Объекты и классы 30 | * Перечисления и структуры 31 | * Протоколы и расширения 32 | * Обработка ошибок 33 | * Универсальные типы 34 | * Основы 35 | * Константы и переменные 36 | * Комментарии 37 | * Точки с запятой 38 | * Целые числа 39 | * Числа с плавающей точкой 40 | * Строгая типизация и Вывод типов 41 | * Числовые литералы 42 | * Преобразования числовых типов 43 | * Псевдонимы типов 44 | * Логические типы 45 | * Кортежи 46 | * Опциональные типы 47 | * Утверждения 48 | * Базовые операторы 49 | * Терминология 50 | * Оператор присваивания 51 | * Арифметические операторы 52 | * Cоставные операторы присваивания 53 | * Операторы сравнения 54 | * Тернарный условный оператор 55 | * Оператор объединения по nil 56 | * Операторы диапазона 57 | * Логические операторы 58 | * Строки и символы 59 | * Строковые литералы 60 | * Инициализация пустых строк 61 | * Изменчивость строк 62 | * Строка является типом значения 63 | * Работа с символами 64 | * Конкатенация строк и символов 65 | * Интерполяция строк 66 | * Юникод 67 | * Типы коллекций 68 | * Изменчивость коллекций 69 | * Массивы 70 | * Множества 71 | * Словари 72 | * Управление потоком 73 | * Циклы For-in 74 | * Циклы While 75 | * Условные операторы 76 | * Ранний выход 77 | * Операторы передачи управления 78 | * Проверка доступности API 79 | * Функции 80 | * Объявление и вызов функций 81 | * Параметры функции и возвращаемые значения 82 | * Имена параметров функций 83 | * Функциональные типы 84 | * Вложенные функции 85 | * Замыкания 86 | * Замыкающие выражения 87 | * Последующее замыкание 88 | * Захват значений 89 | * Замыкания являются ссылочным типом 90 | * Сбегающие замыкания 91 | * Автозамыкания 92 | * Перечисления 93 | * Синтаксис перечислений 94 | * Использование перечислений с оператором switch 95 | * Связанные значения 96 | * Исходные значения 97 | * Рекурсивные перечисления 98 | * Классы и структуры 99 | * Сравнение классов и структур 100 | * Структуры и перечисления - типы значения 101 | * Классы - ссылочный тип 102 | * Выбираем между классом и структурой 103 | * Присваивание и копирование поведения для строк, массивов и словарей 104 | * Свойства 105 | * Свойства хранения 106 | * Вычисляемые свойства 107 | * Наблюдатели свойства 108 | * Глобальные и локальные переменные 109 | * Свойства типа 110 | * Методы 111 | * Методы экземпляра 112 | * Методы типа 113 | * Индексы 114 | * Индексный синтаксис 115 | * Использование индекса 116 | * Опции индекса 117 | * Наследование 118 | * Определение базового класса 119 | * Наследование подклассом 120 | * Переопределение 121 | * Предотвращение переопределений 122 | * Инициализация 123 | * Установка начальных значений для хранимых свойств 124 | * Дефолтные инициализаторы 125 | * Делегирование инициализатора для типов значений 126 | * Наследование и инициализация класса 127 | * Проваливающиеся инициализаторы 128 | * Требуемые инициализаторы 129 | * Начальное значение свойства в виде функции или замыкания 130 | * Деинициализация 131 | * Как работает деинициализация 132 | * Деинициализаторы в действии 133 | * Автоматический подсчет ссылок (ARC) 134 | * Работа ARC 135 | * ARC в действии 136 | * Циклы сильных ссылок между экземплярами классов 137 | * Замена циклов сильных ссылок между экземплярами классов 138 | * Циклы сильных ссылок для замыканий 139 | * Замена циклов сильных ссылок для замыканий 140 | * Опциональная последовательность 141 | * Опциональная последовательность как альтернатива принудительному извлечению 142 | * Определение классовых моделей для опциональной последовательности 143 | * Доступ к свойствам через опциональную последовательность 144 | * Вызов методов через опциональную последовательность 145 | * Доступ к индексам через опциональную последовательность 146 | * Соединение нескольких уровней ОП 147 | * Прикрепление методов к ОП с опциональными возвращаемыми значениями 148 | * Обработка ошибок 149 | * Приведение типов 150 | * Определение классовой иерархии для приведения типов 151 | * Проверка типа 152 | * Понижающее приведение 153 | * Приведение типов для Any и AnyObject 154 | * Вложенные типы 155 | * Вложенные типы в действии 156 | * Ссылка на вложенные типы 157 | * Расширения 158 | * Синтаксис расширений 159 | * Вычисляемые свойства в расширениях 160 | * Инициализаторы в расширениях 161 | * Методы в расширениях 162 | * Сабскрипты в расширениях 163 | * Вложенные типы в расширениях 164 | * Протоколы 165 | * Синтаксис протокола 166 | * Требуемые свойства 167 | * Требуемые методы 168 | * Требуемые изменяющиеся методы 169 | * Требуемые инициализаторы 170 | * Протоколы как типы 171 | * Делегирование 172 | * Добавление соответствия протоколу через расширение 173 | * Коллекции типов протокола 174 | * Наследование протокола 175 | * Классовые протоколы 176 | * Композиция протоколов 177 | * Проверка соответствия протоколу 178 | * Опциональные требования протокола 179 | * Расширения протоколов 180 | * Универсальные шаблоны 181 | * Проблема, которую решают универсальные шаблоны 182 | * Универсальные функции 183 | * Параметры типа 184 | * Именование параметров типа 185 | * Расширяем универсальный тип 186 | * Ограничения типа 187 | * Связанные типы 188 | * Оговорка where 189 | * Контроль доступа 190 | * Модули и исходные файлы 191 | * Уровни доступа 192 | * Синтаксис уровня контроля 193 | * Пользовательские типы 194 | * Уровень доступа класса и подкласса 195 | * Константы, переменные, свойства и сабскрипт 196 | * Инициализаторы 197 | * Протоколы и уровень доступа 198 | * Расширения и уровни доступа 199 | * Универсальный код. Псевдонимы типов 200 | * Продвинутые операторы 201 | * Побитовые операторы 202 | * Операторы переполнения 203 | * Приоритет и ассоциативность 204 | * Операторные функции 205 | * Пользовательские операторы 206 | 207 | ## Текущая версия перевода 208 | Swift 4.2 209 | 210 | ### Справочник по языку Swift 211 | 212 | * Лексическая структура 213 | * Типы 214 | * Выражения 215 | * Инструкции 216 | * Объявления 217 | * Атрибуты 218 | * Шаблоны 219 | * Параметры и аргументы универсального типа 220 | 221 | --------------------------------------------------------------------------------