Ваш город
Москва
Ваш город Москва?
+7 928 117-10-37
Отдел продаж
Режим работы:
Пн-Сб 10:00—18:00;
Вс выходной
КАТАЛОГ ТОВАРОВ
0КорзинаПусто0 руб.
Товары в корзине
корзина пуста
КАТАЛОГ ТОВАРОВ
Корзина пуста0 руб.0
Товары в корзине
корзина пуста
Корзина пуста0 руб.0
Товары в корзине
корзина пуста

Swift. Основы разработки приложений под iOS и macOS. 4-е изд. дополненное и переработанное

Swift. Основы разработки приложений под iOS и macOS. 4-е изд. дополненное и переработанное
Язык Swift молод, он растет, развивается и изменяется. Но основные подходы к программированию и разработке уже сформировались, и в новом, четвертом издании книги особое внимание уделяется решению конкретных задач...
Характеристики
Автор(ы):
Василий Усов
Издательство:
Питер
Год издания:
2019
Кол-во страниц:
448
Переплёт:
Мягкий
Смотреть все
Получение информации о методах доставки
Код: 17873
Нет в наличии
680
Количество:
Избранное
Сравнение
Описание

Язык Swift молод, он растет, развивается и изменяется. Но основные подходы к программированию и разработке уже сформировались, и в новом, четвертом издании книги особое внимание уделяется решению конкретных задач.
Текст полностью переработан так, чтобы любой, интересующийся языком Swift, мог найти здесь и основы, и необходимую информацию по разработке приложений. Все коды, использованные в книге соответствуют Swift версии не ниже 4.1, iOS версии не ниже 11 и Xcode версии не ниже 9. Теперь вы не только изучите язык Swift, но и получите начальные сведения о принципах разработки полноценных приложений.

Мир Swift постоянно меняется, людей со значительным багажом знаний и опыта за плечами еще просто не существует в силу возраста языка, поэтому вы можете стать одним из первых специалистов.

Характеристики
Автор(ы)
Василий Усов
Издательство
Питер
Серия
Библиотека программиста
Год издания
2019
ISBN
978-5-4461-0776-6
Возрастное ограничение
16+
Кол-во страниц
448
Формат страниц
60x90/16 (145x215 мм)
Язык
Русский
Переплёт
Мягкий
Доп. сведения
Офсетная бумага
Иллюстрации
черно-белые
Вес
440 г
Отзывы

Loading...
Оглавление

Введение . 12

О Swift 13
О книге . 14
Исправления в четвертом издании . 16
Для кого написана книга 16
Что нужно знать, прежде чем начать читать 17
Структура книги . 18
Условные обозначения 19
От издательства . 19
Часть I. Подготовка к разработке Swift-приложений . . . . 20
Глава 1. Подготовка к разработке в macOS . 21
1.1. Вам необходим компьютер Mac . 21
1.2. Зарегистрируйтесь как Apple-разработчик 21
1.3. Установите Xcode 23
1.4. Введение в Хcode 24
1.5. Интерфейс playground-проекта 28
1.6. Возможности playground-проекта . 30
Глава 2. Подготовка к разработке в Linux 34
Глава 3. Подготовка к разработке в Windows . 38
Часть II. Базовые возможности Swift . . . . . . . . . . . . . . . . . 40
Глава 4. Отправная точка . 41
4.1. Инициализация и изменение значения . 42
4.2. Переменные и константы . 44
4.3. Правила объявления переменных и констант . 47
4.4. Глобальные и локальные объекты . 48
4.5. Вывод текстовой информации . 50
4.6. Комментарии 52
4.7. Точка с запятой 56
5. Типы данных и операции с ними . 57
5.1. Виды определения типа данных 57
5.2. Числовые типы данных . 60
5.3. Текстовые типы данных 74
5.4. Логические значения . 81
5.5. Псевдонимы типов . 84
5.6. Операторы сравнения 86
5.7. Операторы диапазона 87
Часть III. Основные средства Swift . . . . . . . . . . . . . . . . . . . 88
Глава 6. Кортежи 89
6.1. Основные сведения о кортежах 89
6.2. Взаимодействие с элементами кортежа . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Глава 7. Опциональные типы данных . 98
7.1. Опционалы 98
7.2. Извлечение опционального значения 100
Глава 8. Операторы условий 103
8.1. Утверждения . 103
8.2. Оператор условия if 105
8.3. Оператор раннего выхода guard . 117
8.4. Оператор ветвления switch 117
Глава 9. Последовательности и коллекции . 128
9.1. Последовательности 128
9.2. Коллекции . 129
9.3. Массивы . 129
9.4. Наборы 142
9.5. Словари 150
Глава 10. Циклы 158
10.1. Оператор повторения for 158
10.2. Операторы повторения while и repeat while 163
10.3. Управление циклами . 165
Глава 11. Функции 169
11.1. Объявление функций 169
11.2. Аргументы функции и возвращаемое значение . 172
11.3. Возможности функций . 181
11.4. Безымянные функции . 187
Глава 12. Замыкания 189
12.1. Функции как замыкания 189
12.2. Замыкающие выражения . 192
12.3. Неявное возвращение значения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
12.4. Сокращенные имена параметров . 194
12.5. Переменные-замыкания . 195
12.6. Метод сортировки массивов . 197
12.7. Каррирование функций 198
12.8. Захват переменных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
12.9. Замыкания — это тип-ссылка . 202
12.10. Автозамыкания . 203
11.12. Выходящие замыкания . 206
Глава 13. Вспомогательные функциональные элементы 208
13.1 Метод map(_:) . 208
13.2. Метод mapValues(_:) 211
13.3. Метод filter(_:) . 211
13.4. Метод reduce(_:_:) 212
13.5. Метод flatMap(_:) . 213
13.6. Метод zip(_:_:) . 214
Глава 14. Ленивые вычисления . 215
14.1. Понятие ленивых вычислений . 215
14.2. Замыкания в ленивых вычислениях 216
14.3. Свойство lazy 217
Часть IV. Нетривиальные возможности Swift . . . . . . . . . . 218
Глава 15. ООП как фундамент . 220
15.1. Экземпляры 220
15.2. Пространства имен . 222
15.3. API Design Guidelines 223
Глава 16. Перечисления . 225
16.1. Синтаксис перечислений . 225
16.2. Ассоциированные параметры . 228
16.3. Вложенные перечисления 230
16.4. Оператор switch для перечислений 231
16.5. Связанные значения членов перечисления . 232
16.6. Свойства в перечислениях . 234
16.7. Методы в перечислениях . 236
16.8. Оператор self . 236
16.9. Рекурсивные перечисления 237
Глава 17. Структуры . 241
17.1. Синтаксис объявления структур . 241
17.2. Свойства в структурах 242
17.3. Структура как пространство имен 244
17.4. Собственные инициализаторы . 245
17.5. Методы в структурах . 247
Глава 18. Классы . 249
18.1. Синтаксис классов 250
18.2. Свойства классов 250
18.3. Методы классов . 253
18.4. Инициализаторы классов 254
18.5. Вложенные типы . 255
Глава 19. Свойства 257
19.1. Типы свойств 257
19.2. Контроль получения и установки значений 260
19.3. Свойства типа 264
Глава 20. Сабскрипты . 266
20.1. Назначение сабскриптов 266
20.2. Синтаксис сабскриптов 267
Глава 21. Наследование . 272
21.1. Синтаксис наследования 272
21.2. Переопределение наследуемых элементов 274
21.3. Превентивный модификатор final . 277
21.4. Подмена экземпляров классов . 278
21.5. Приведение типов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Глава 22. Псевдонимы Any и AnyObject . 281
22.1. Псевдоним Any 281
22.2. Псевдоним AnyObject . 283
Глава 23. Инициализаторы и деинициализаторы . 284
23.1. Инициализаторы . 284
23.2. Деинициализаторы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Глава 24. Удаление экземпляров и ARC . 293
24.1. Уничтожение экземпляров 293
24.2. Утечки памяти 295
24.3. Автоматический подсчет ссылок . 298
Глава 25. Опциональные цепочки . 301
25.1. Доступ к свойствам через опциональные цепочки 301
25.2. Установка значений через опциональные цепочки . 303
25.3. Доступ к методам через опциональные цепочки 304
Глава 26. Расширения 305
26.1. Вычисляемые свойства в расширениях 306
26.2. Инициализаторы в расширениях 307
26.3. Методы в расширениях 308
26.4. Сабскрипты в расширениях 309
Глава 27. Протоколы 310
27.1. Требуемые свойства . 311
27.2. Требуемые методы 312
27.3. Требуемые инициализаторы . 313
27.4. Протокол в качестве типа данных . 314
27.5. Расширение и протоколы . 314
27.6. Наследование протоколов . 315
27.7. Классовые протоколы . 316
27.8. Композиция протоколов 316
Глава 28. Разработка первого приложения 318
28.1. Важность работы с документацией . 318
28.2. Модули . 325
28.3. Разграничение доступа . 329
28.4. Разработка интерактивного приложения . 332
Глава 29. Универсальные шаблоны . 346
29.1. Универсальные функции . 346
29.2. Универсальные типы . 348
29.3. Ограничения типа 350
29.4. Расширения универсального типа 351
29.5. Связанные типы 351
Глава 30. Обработка ошибок . 354
30.1. Выбрасывание ошибок 354
30.2. Обработка ошибок 355
30.3. Отложенные действия по очистке 360
Глава 31. Нетривиальное использование операторов . 361
31.1. Операторные функции . 361
31.2. Пользовательские операторы . 364
Часть V. Основы разработки приложений . . . . . . . . . . . . . 365
Глава 32. Новое знакомство с Xcode 366
32.1. Создание Xcode-проекта 366
32.2. Интерфейс Xcode-проекта . 370
Глава 33. Первое приложение для macOS 374
33.1. Подготовка к разработке приложения . 374
33.2. Запуск приложения . 378
33.3. Код приложения «Сумма двух чисел» 382
Глава 34. Консольная игра «Отгадай число» . 388
Глава 35. Введение в мобильную разработку . 395
35.1. Создание проекта MyName . 395
35.2. Interface Builder, Storyboard и View Controller . 397
35.3. Разработка простейшего UI 404
35.4. Запуск приложения в эмуляторе . 406
35.5. View Controller сцены и класс UIViewController 409
35.6. Доступ UI к коду. Определитель типа @IBAction . 412
35.7. Отображение всплывающего окна. Класс UIAlertController 414
35.8. Изменение атрибутов кнопки . 421
35.9. Доступ кода к UI. Определитель типа @IBOutlet . 425
Глава 36. Паттерны проектирования при разработке в Xcode 432
36.1. Паттерн MVC. Фреймворк Cocoa Touch . 432
36.2. Паттерн Singleton. Класс UIApplication 434
36.3. Паттерн Delegation. Класс UIApplicationDelegate 435
Заключение . 437
10 Введение
Приложение. Изменения и нововведения Swift 4 . 438
Ассистент миграции 438
Строки 438
Тип String 438
Тип Substring 439
Адаптация под Unicode 9 . 439
Наборы и словари . 439
Инициализация на основе последовательностей 440
Обработка дубликатов ключей 440
Фильтрация 440
Маппинг словарей 441
Значение по умолчанию для элемента словаря 441
Группировка элементов словаря 441
Протокол Codable . 442
Многострочные строковые литералы 443
Keypath — ссылка на свойство . 443
Односторонние диапазоны 444

Рекомендуем посмотреть
Помощь
+7 928 117-10-37
Отдел продаж
Если у вас возникли вопросы при оформлении заказа, обратитесь по указанным контактам.
Мы используем файлы cookie, чтобы сайт был лучше для вас.