Программирование на Swift

Практическое руководство разработчика.

Василий Усов "Swift. Основы разработки приложений под iOS" Питер, 2016 год, 304 стр. (6,07 мб. pdf)

Книга представляет разработчикам информацию по основам программирования на Swift, языке программирования специально разработанном для создания приложений в iOS. Это быстрый, рациональный, безопасный, функциональный объектно-ориентированный язык — был создан и представлен в 2014 году и стал огромным сюрпризом и произвел фурор в iOS-среде. Прошел всего лишь год, и Apple обновила его до версии 2.0, и далее 2.1, в которую были внесены ряд значительных нововведений.

Представленное практическое руководство содержит максимально полную по технологии программирования на Swift. Все желающие научится создавать приложения под iOS смогут воспользоваться книгой, как справочником и учебником, практически не обращаясь к другим изданиям. В книге дается не только теория, но и показано применение языковых конструкций на большом количестве примеров. А для закрепления знаний и лучшего понимания всех тонкостей языка, читателю предлагается к выполнению ряд практических заданий. Изучая программирование на Swift, вы сможете разрабатывать эффективные и интересные приложения для платформ: iOS, OS X, tvOS или watchOS. ISBN: 978-5-496-02256-9
Оглавление книги.

Введение 8
О Swift 9
О книге 10

Часть I. Знакомство с Xcode 13

Глава 1. Первые шаги 14
1 .1 .Вам необходим компьютер Mac 14
1 .2 .Зарегистрируйтесь как Apple-разработчик 14
1 .3 .Установите Xcode 16

Глава 2. Среда Xcode и playground-проекты 18
2 .1 .Введение в Хcode 18
2 .2 .Интерфейс playground-проекта 21
2 .3 .Возможности playground-проекта 23

Часть II. Базовые возможности Swift 27

Глава 3. Отправная точка 28
3 .1 .Установка и изменение значения29
3 .2 .Переменные и константы 31
3 .3 .Правила объявления переменных и констант 34
3 .4 .Вывод текстовой информации 35
3 .5 .Комментарии 37
3 .6 .Точка с запятой 39

Глава 4. Типы данных и операции с ними 40
4 .1 .Виды определения типа данных 40
4 .2 .Числовые типы данных 43
4 .3 .Текстовые типы данных 56
4 .4 .Логические значения 62
4 .5 .Псевдонимы типов 65
4 .6 .Операторы сравнения 67

Часть III. Основные средства Swift 69

Глава 5. Кортежи 70
5 .1 .Основные сведения о кортежах 70
5 .2 .Взаимодействие с элементами кортежа 72

Глава 6. Опциональные типы данных 78
6 .1 .Опционалы 78
6 .2 .Извлечение опционального значения 80

Глава 7. Утверждения 83

Глава 8. Управление потоком. Ветвления 86
8 .1 .Оператор условия if 86
8 .2 .Оператор guard 97
8 .3 .Операторы диапазона 98
8 .4 .Оператор ветвления switch 98

Глава 9. Типы коллекций 109
9 .1 .Массивы 109
9 .2 .Наборы 120
9 .3 .Словари 128

Глава 10. Управление потоком. Повторения 135
10 .1 .Оператор повторения for 135
10 .2 .Операторы повторения while и repeat while 142
10 .3 .Управление циклами 144

Глава 11. Функции 148
11 .1 .Объявление функций 148
11 .2 .Входные параметры и возвращаемое значение 151
11 .3 .Тело функции как значение 162
11 .4 .Вложенные функции 163
11 .5 .Перезагрузка функций 164
11 .6 .Рекурсивный вызов функций 165

Глава 12. Замыкания 167
12 .1 .Функции как замыкания 167
12 .2 .Замыкающие выражения 170
12 .3 .Неявное возвращение значения 171
12 .4 .Сокращенные имена параметров 172
12 .5 .Переменные-замыкания 174
12 .6 .Захват переменных 175
12 .7 .Метод сортировки массивов 176

Часть IV. Нетривиальные возможности Swift 178

Глава 13. ООП как фундамент 180
13 .1 .Экземпляры 180
13 .2 .Пространства имен 182

Глава 14. Перечисления 184
14 .1 .Синтаксис перечислений 184
14 .2 .Ассоциированные параметры 187
14 .3 .Оператор switch для перечислений 189
14 .4 .Связанные значения членов перечисления 190
14 .5 .Свойства в перечислениях 192
14 .6 .Методы в перечислениях 193
14 .7 .Оператор self 194
14 .8 .Рекурсивные перечисления 195

Глава 15. Структуры 199
15 .1 .Синтаксис объявления структур 199
15 .2 .Свойства в структурах 200
15 .3 .Структура как пространство имен 202
15 .4 .Собственные инициализаторы 203
15 .5 .Методы в структурах 204

Глава 16. Классы 206
16 .1 .Синтаксис классов 207
16 .2 .Свойства классов 207
16 .3 .Методы классов 210
16 .4 .Инициализаторы классов 211
16 .5 .Вложенные типы 212

Глава 17. Свойства 214
17 .1 .Типы свойств 214
17 .2 .Контроль получения и установки значений 216
17 .3 .Свойства типа 220

Глава 18. Сабскрипты 223
18 .1 .Назначение сабскриптов 223
18 .2 .Синтаксис сабскриптов 224

Глава 19. Наследование 229
19 .1 .Синтаксис наследования 229
19 .2 .Переопределение наследуемых элементов 231
19 .3 .Превентивный модификатор final 234
19 .4 .Подмена экземпляров классов 235
19 .5 .Приведение типов 235

Глава 20. Псевдонимы Any и AnyObject 238
20 .1 .Псевдоним Any 238
20 .2 .Псевдоним AnyObject 240

Глава 21. Инициализаторы и деинициализаторы 241
21 .1 .Инициализаторы 241
21 .2 .Деинициализаторы 248

Глава 22. Удаление экземпляров и ARC 250
22 .1 .Уничтожение экземпляров 250
22 .2 .Утечки памяти 252
22 .3 .Автоматический подсчет ссылок 255

Глава 23. Опциональные цепочки 258
23 .1 .Доступ к свойствам через опциональные цепочки 258
23 .2 .Установка значений через опциональные цепочки 260
23 .3 .Доступ к методам через опциональные цепочки 261

Глава 24. Расширения 262
24 .1 .Вычисляемые свойства в расширениях 263
24 .2 .Инициализаторы в расширениях 264
24 .3 .Методы в расширениях 265
24 .4 .Сабскрипты в расширениях 266

Глава 25. Протоколы 267
25 .1 .Требуемые свойства 268
25 .2 .Требуемые методы 269
25 .3 .Требуемые инициализаторы 270
25 .4 .Протокол в качестве типа данных 271
25 .5 .Расширение и протоколы 271
25 .6 .Наследование протоколов 272
25 .7 .Классовые протоколы 273
25 .8 .Композиция протоколов 274

Глава 26. Нестандартные типы данных и получение справочной информации 275

Глава 27. Универсальные шаблоны 283
27 .1 .Универсальные функции 283
27 .2 .Универсальные типы 285
27 .3 .Ограничения типа 287
27 .4 .Расширения универсального типа 288
27 .5 .Связанные типы 288

Глава 28. Обработка ошибок 291
28 .1 .Выбрасывание ошибок 291
28 .2 .Обработка ошибок 292
28 .3 .Отложенные действия по очистке 297

Глава 29. Нетривиальное использование операторов 298
29 .1 .Операторные функции 298
29 .2 .Пользовательские операторы 301

Скачать книгу бесплатно6,07 мб. pdf