Езикът Swift. Програмиране за iOS и OS X - Издателство Асеневци
   
-25%
Езикът Swift. Програмиране за iOS и OS X
zoom Увеличи изображението

Езикът Swift. Програмиране за iOS и OS X

Корична цена 19.95 лв.
Цена: 14.96 лв.
+ 2.90 лв. за доставка
ISBN: 978-954-8898-73-7
Автор: Айк Арменович Харазян
Корица: Мека
Страници: 202 стр.
Формат: 165 х 235 мм
Година на издаване: 2016 г.
Издател: Асеневци
Количество: 

Анотация

Книгата е предназначена за самостоятелно изучаване на Swift — новият език за програмиране за iOS и OS X. Описана е версия Swift 2.0. Книгата е подходяща дори и за тези от вас, които никога не са програмирали на C, C++ или Objective-C. Материалът е построен на принципа от простото към сложното. Изложението се съпътства с голям брой листинги на код, които може да ползвате за тестване и дебъване посредством новата среда за разработка Playground.

На прост и разбираем език са обяснени основите на Swift, синтаксиса на езика и неговите особености. Описани са типовете данни, циклите, класовете, функциите, кортежите, базовите оператори и другите стандартни конструкции. Накратко са дадени основите на обектно ориентираното програмиране. Подробно са разгледани по-сложни или специфични за Swift конструкции: изброявания, затваряния, опционални типове, класове, структури, обобщени типове, разширения, протоколи, разширени оператори и др.

----

„Книгата е написана много качествено и позволява в кратки срокове да усвоите новият език и неговият инструментариум. Тя е подходяща както за начинаещите, които започват своя път на iOS разработчици, така и за по-напредналите програмисти, които искат да се научат да програмират на Swift.“

Сергей Пронин, водещ разработчик на iOS приложения в компанията Empatika, преподавател на курса „Разработка на iOS приложения на Swift“ във Висшата школа по икономика.

Съдържание

Въведение...7
За кого е предназначена тази книга?...8
Каква е ползата от тази книгата?...8
Структура на книгата...8
Тествайте листингите с кода!...9
Програмата на Apple за разработчици...9

 

Част I . Основи на Swift

глава 1. Swift: как се появява и откъде да започнем?...12
1.1. Как се появява Swift?...12
1.2. Какво е необходимо, за да започнем да работим със Swift?...13
1.3. Playground...13
1.4. Как да създадем нов документ Playground?...14

глава 2. Особености на синтаксиса на Swift ...18
2.1. Swift е подобен на C...18
2.2. Липса на заглавни файлове...18
2.3. Не е задължително поставянето на точка и запетая...18
2.4. Набор от символи...19
Изводи...19

глава 3. Прости типове данни, променливи и константи...20
3.1. Променливи и константи...20
3.2. Извеждане на информация в конзолата...22
3.3. Коментари...23
3.4. Статична типизация и извод на типа...24
3.5. Явно указване на типа...25
3.6. Литерали...26
3.7. Числови типове...27
3.7.1. Цели числа...27
3.7.2. Числа с плаваща точка...28
3.7.3. Начини за изписване на числови типове...28
3.7.4. Преобразуване на числови типове...29
3.8. Низове и символи...30
3.8.1. Конкатенация на низове...31
3.8.2. Преобразуване в низ...31
3.8.3. Интерполация на низове...32
3.9. Логически типове...32
3.10. Псевдоними на типове...32
Изводи...33

глава 4. Базови оператори...34
4.1. Оператор за присвояване...35
4.2. Аритметични оператори...35
4.3. Съставни оператори за присвояване...36
4.4. Оператори за инкрементиране и декрементиране...36
4.5. Операторите унарен минус и унарен плюс...37
4.6. Оператори за сравнение...38
4.7. Тернарен условен оператор...38
4.8. Оператори за диапазон...39
4.9. Логически оператори...40
4.9.1. Логическо НЕ...40
4.9.2. Логическо И...40
4.9.3. Логическо ИЛИ...40
Изводи...41

глава 5. Типове колекции...42
5.1. Масиви...42
5.1.1. Деклариране на масив...42
5.1.2. Получаване на достъп до елементите на масива...45
5.1.3. Добавяне на елемент в масив...46
5.1.4. Изменение на елементите на масива...48
5.1.5. Изтриване на елементите на масива...49
5.1.6. Итерация по масив...50
5.2. Множества...51
5.2.1. Деклариране на множества...51
5.2.2. Работа с множества...52
5.2.3. Комбиниране и сравняване на множества...54
5.3. Речници...55
5.3.1. Деклариране на речник...56
5.3.2. Достъп до елементите на речник...56
5.3.3. Добавяне на елементи в речник...57
5.3.4. Изменение на елементите на речник...57
5.3.5. Изтриване на елементи от речник...57
5.3.6. Итерация по речник...58
Изводи...59

глава 6. Разклонение на потока ...61
6.1. Условия...61
6.1.1. Условен оператор if...61
6.1.2. Оператор switch...63
6.2. Цикли...68
6.2.1. Цикли for...68
6.2.2. Цикъл while...70
6.3. Управление на потока на цикъла...71
6.4. Оператор guard...73
6.5. Проверка за наличие на API...74
Изводи...74

глава 7. Функции...76
7.1. Деклариране на функция...76
7.2. Параметри...77
7.2.1. Външни имена на параметрите...78
7.2.2. Параметри със стойности по подразбиране...80
7.2.3. Директни (входно-изходни) параметри...81
7.2.4. Функции с променлив брой параметри...82
7.3. Връщане на стойност от функция...83
7.3.1. Функции, които връщат няколко стойности...84
7.4. Функциите са обекти от първи клас...86
7.4.1. Функции, приемащи параметри във вид на функция...87
7.4.2. Функции, връщащи функция...87
7.4.3. Вложени функции...89
Изводи...90

 

част II . Задълбочено изучаване на Swift

глава 8. Опционални типове ...92
8.1. Опционално свързване...94
8.2. Принудително извличане...95
8.3. Неявно извличане...96
8.4. Опционално сцепление...97
Изводи...97

глава 9. Кортежи...98
9.1. Деклариране на кортеж...98
9.2. Достъп до елементите на кортеж...98
9.2.1. Използване на индекса на елемента...98
9.2.2. Разлагане на кортеж...99
9.3. Именуване на елементите на кортеж...100
9.4. Използване на кортежи...100
9.4.1. Масово присвояване...100
9.4.2. Във for-in цикли...101
9.4.3. В качество на връщана от функция стойност...101
9.5. Опционален кортеж...102
Изводи...103

глава 10. Затваряния...104
10.1. Съкратени имена на параметрите на затварянето...108
10.2. Оператори функции...108
10.3. Последващо затваряне...108
Изводи...110

глава 11. Изброявания...111
11.1. Деклариране на изброявания...112
11.2. Изброявания и операторът switch...113
11.3. Свързани стойности...114
11.4. Изходни стойности...115
11.5. Вложени изброявания...117
Изводи...118

глава 12. Класове...119
12.1. Свойства, методи и обекти на класа...119
12.2. Деклариране на класове...120
12.3. Свойства на класа...121
12.3.1. Лениви свойства...123
12.3.2. Изчисляеми свойства...124
12.3.3. Наблюдатели на свойства...128
12.3.4. Изчисляеми променливи и наблюдатели на променливи...129
12.3.5. Свойства на типа...129
12.4. Инициализатори...131
12.4.1. Инициализатор по подразбиране...131
12.4.2. Инициализатори с параметри...132
12.4.3. Локални и външни имена на параметрите на инициализатора...134
12.4.4. Провалящи се инициализатори...135
12.4.5. Деинициализатори...136
12.5. Методи...137
12.5.1. Създаване на методи...137
12.5.2. Методи на типа...139
12.6. Индексатори...139
12.6.1. Синтаксис на индексаторите...140
12.6.2. Многомерни индексатори...141
Изводи...144

глава 13. Наследяване...146
13.1. Преопределяне...147
13.2. Наследяване на инициализатори...148
13.3. Преопределяне на инициализатори...152
13.4. Назначени и удобни инициализатори...153
13.5. Необходими инициализатори...155
Изводи...157

глава 14. Автоматично броене на референциите ...158
14.1. Принципи на работа на автоматичното броене на референциите...158
14.2. Цикли на силни референции в обектите на класовете...160
14.3. Решение на проблема с циклите на силните референции между обектите на  класовете...161
14.3.1. Слаби референции...161
14.3.2. Референции без притежател...162
Изводи...163

глава 15. Структури...164
15.1. Стойностни типове и референтни типове...164
15.2. Оператор за идентичност...165
15.3. Свойства на структурите...166
15.4. Свойства на типа за структури...167
15.5. Методи на структури...167
15.6. Методи на типа за структури...168
15.7. Инициализатори на структури...168
Изводи...169

глава 16. Проверка на типовете и превръщане на типове...170
16.1. Проверка на типа...170
16.2. Превръщане на типа...172
16.3. Проверка на типовете Any и AnyObject...174
16.3.1. Тип AnyObject...175
16.3.2. Тип Any...176
Изводи...177

глава 17. Разширения...178
17.1. Разширение на свойства...178
17.2. Разширение на методи...179
17.3. Разширение на инициализатори...180
Изводи...181

глава 18. Протоколи...182
18.1. Деклариране на протокол...182
18.2. Изисквания за свойства...182
18.3. Изисквания за методи...185
18.4. Изисквания за инициализатори...186
18.5. Протоколи като типове...187
18.6. Съответствие на протокол чрез разширение...188
18.7. Наследяване на протоколи...188
18.8. Протоколи само за класове...188
18.9. Съчетание на протоколи...189
18.10. Проверка на обект за съответствие с протокол...189
18.11. Разширения на протоколи...190
Изводи...190

глава 19. Обобщени типове ...192
19.1. Обобщени функции...192
19.2. Обобщени типове...193
19.3. Ограничения на типове...194
Изводи...194

глава 20. Обработка на грешки ...195
Изводи...196

глава 21. Разширени оператори ...197
21.1. Оператор за обединяване по нулев указател...197
21.2. Оператори с препълване...197
21.2.1. Препълване на стойност...198
21.2.2. Загуба на стойност...198
21.3. Предефиниране на оператори...198
21.4. Побитови оператори...200
21.4.1. NOT...200
21.4.2. AND...200
21.4.3. OR...200
21.4.4. XOR...200
21.4.5. Побитови оператори с ляво и дясно отместване...200
Изводи...201

Заключение...202
Изучете фреймуърковете на Apple...202
Влезте в Apple’s Developer Program...202
Напред, към нови висоти!...202

За автора

Айк Арменович Харазян е главен редактор на портала swiftbook.ru - сайт №1 в ОНД с ресурси по програмиране на Swift! Има опит и в разработването на приложения за корпоративни CRM системи, както и опит с работата с крупни ERP системи от рода на SAP и IBM.

Company MAXXmarketing GmbH