Приложения iPhone, iPad и iPod

Руководство разработчика для iPhone, iPad и iPod.

В. Нахавандипур "iOS. Разработка приложений для iPhone, iPad и iPod" Питер, 2013 год, 864 стр., Бестселлеры O'Reilly, (6,33 мб pdf)

Хотите сами научиться разрабатывать приложения iPhone, iPad и iPod? Тогда книга адресована вам. В представленном руководстве рассмотрены свыше 100 методов программных разработок, с доступной возможностью быстро освоить создание широко функциональных программ под использование в среде системы iOS.

Это могут быть как простые, таких как адресная книга или музыкальный плеер, так и достаточно сложных приложения iPhone, iPad и iPod, в которых реализованы возможности, использующие анимацию, графику, мультимедийный контент, базы данных, облачные хранилища, работу с фреймворками Core Motion и Core Data. Полный список всех вопросов затронутых в книге можете просмотреть в оглавлении, ниже.

Оглавление
Предисловие 14
Для кого предназначена книга 14
Как построено издание 14
Дополнительные ресурсы 17
Условные сокращения, используемые в данной книге 18
Работа с примерами кода 19
Нам интересны ваши отзывы 19
Благодарности 20
От издательства 21

Глава 1. Основы 22
1.0. Введение 22
1.1. Создание простого приложения для iOS в Xcode 23
1.2. Понятие конструктора интерфейса 26
1.3. Компилирование приложений для iOS 30
1.4. Запуск приложений iOS в эмуляторе 32
1.5. Запуск приложений для iOS на устройствах с iOS 34
1.6. Упаковка приложений iOS для распространения 37
1.7. Объявление переменных в языке Objective-C 42
1.8. Выделение и использование строк 44
1.9. Сравнение значений в языке Objective-C с помощью оператора if 48
1.10. Реализация циклов с помощью операторов for 52
1.11. Реализация циклов while 54
1.12. Создание собственных классов 57
1.13. Определение функциональности для классов 60
1.14. Определение двух или более одноименных методов 65
1.15. Выделение и инициализация объектов 69
1.16. Добавление свойств к классам 71
1.17. Переход от ручного подсчета ссылок к автоматическому 75
1.18. Приведение типов при автоматическом подсчете ссылок 81
1.19. Делегирование задач с помощью протоколов 84
1.20. Определение того, доступны ли методы класса или экземпляра класса 91
1.21. Определение того, доступен ли класс во время исполнения 94
1.22. Выделение чисел и работа с ними 95
1.23. Выделение массивов и работа с ними 97
1.24. Выделение словарей и работа с ними 103
1.25. Выделение множеств и работа с ними 106
1.26. Создание пакетов 108
1.27. Загрузка данных из основного пакета 110
1.28. Загрузка данных из других пакетов 113
1.29. Отправка уведомлений с помощью NSNotificationCenter 116
1.30. Слушание уведомлений, поступающих от NSNotificationCenter 120

Глава 2. Реализация контроллеров и видов 124
2.0. Введение 124
2.1. Отображение предупреждений с помощью UIAIertView 125
2.2. Создание и использование переключателей с помощью UlSwitch 132
2.3. Выбор значений с помощью UlPickerView 137
2.4. Выбор даты и времени с помощью UIDatePicker 144
2.5. Реализация инструмента для выбора временных рамок с помощью UlSlider 150
2.6. Группирование компактных параметров с помощью UlSegmentedControl 154
2.7. Представление видов и управление ими с помощью UlViewController 160
2.8. Внедрение навигации с помощью UINavigationController 165
2.9. Управление массивом контроллеров видов 171
2.10. Демонстрация изображения на навигационной панели 172
2.11. Добавление кнопок на навигационные панели из UIBsrButtonltem 173
2.12. Представление контроллеров, управляющих из unabBarController 180
2.13. Отображение статического текста с помощью UILabel 188
2.14. Прием пользовательского текстового ввода с помощью unextField 192
2.15. Отображение длинных текстовых строк с помощью UITextView 201
2.16. Добавление кнопок в пользовательский интерфейс с помощью UIButton 206
2.17. Показ изображений с помощью UllmageView 211
2.18. Создание прокручиваемого контента с помощью UlScrollView 215
2.19. Загрузка веб-страниц с помощью UlWebView 221
2.20. Представление видов «Основной — детали» с помощью UlSplitViewController 225
2.21. Организация разбивки на страницы с помощью UlPageViewController 232
2.22. Отображение вспомогательных экранов с помощью UlPopoverController 237
2.23. Отображение протекания процессов с помощью UlProgressView 247
2.24. Слушание уведомлений, поступающих с клавиатуры, и реагирование на них 250

Глава 3. Создание и использование табличных видов 266
3.0. Введение 266
3.1. Инстанцирование табличного вида 266
3.2. Присваивание делегата табличному виду 268
3.3. Наполнение табличного вида данными 270
3.4. Получение событий, связанных с табличным видом, и их обработка 274
3.5. Использование дополнительных элементов в ячейке табличного вида 276
3.6. Создание специальных дополнительных элементов в ячейке табличного вида .279
3.7. Отображение иерархических данных в табличных видах 282
3.8. Обеспечение удаления смахиванием (Swipe Deletion) в ячейках табличных видов 284
3.9. Создание верхних и нижних колонтитулов в табличных видах 286
3.10. Отображение контекстных меню в ячейках табличных видов 297
3.11. Перемещение ячеек и разделов в табличных видах 302
3.12. Удаление ячеек и разделов в табличных видах 308

Глава 4. Раскадровки 319
4.0. Введение 319
4.1. Создание проекта с раскадровками 320
4.2. Добавление в раскадровку навигационного контроллера 22
4.3. Передача данных с одного экрана на другой 332
4.4. Добавление раскадровки в существующий проект 334

Глава 5. Параллелизм 337
5.0. Введение 337
5.1. Создание блоковых объектов 343
5.2. Доступ к переменным в блоковых объектах 348
5.3. Вызов блоковых объектов 354
5.4. Диспетчеризация задач к Grand Central Dispatch 356
5.5. Решение с помощью GCD задач, связанных с ПИ 357
5.6. Синхронное решение с помощью GCD задач не связ. с ПИ 361
5.7. Асинхронное решение с помощью GCD, задач не связ. с ПИ 364
5.8. Выполнение задач после задержки с помощью GCD 371
5.9. Однократное выполнение задач с помощью GCD 374
5.10. Объединение задач в группы с помощью GCD 376
5.11. Создание собственных диспетчерских очередей с помощью GCD 380
5.12. Синхронное выполнение задач с помощью операций 383
5.13. Асинхронное выполнение задач с помощью операций 390
5.14. Создание зависимости между операциями 397
5.15. Создание таймеров .400
5.16. Параллельное программирование с использованием потоков 405
5.17. Активизация фоновых методов 411
5.18. Выход из потоков и таймеров 413

Глава 6. Core Location и карты 416
6.0. Введение 416
6.1. Создание картографического вида 418
6.2. Обработка событий картографического вида 420
6.3. Отметка местоположения устройства 422
6.4. Отображение маркеров в картографическом виде 425
6.5. Отображение разноцветных маркеров в картографическом виде 428
6.6. Отображение пользовательских маркеров в картографическом виде 435
6.7. Преобразование обычных адресов в данные широты и долготы 438
6.8. Преобразование данных широты и долготы в обычные адреса 440

Глава 7. Реализация распознавания жестов 443
7.0. Введение 443
7.1. Обнаружение жестов смахивания 445
7.2. Обнаружение жестов вращения 447
7.3. Обнаружение жестов панорамирования и перетаскивания 451
7.4. Обнаружение жестов долгого нажатия 453
7.5. Обнаружение жестов-нажатий .457
7.6. Обнаружение щипка 459

Глава 8. Сетевые функции, JSON, XML и Twitter 462
8.0. Введение 462
8.1. Асинхронная загрузка с применением NSURLConnection 462
8.2. Обработка задержек при асинхронных соединениях 465
8.3. Синхронная загрузка с применением NSURLConnection 466
8.4. Изменение URL-запроса с применением NSMutableURLRequest 469
8.5. Отправка запросов HTTP GET с применением NSURLConnection 470
8.6. Отправка запросов HTTP POST с применением NSURLConnection 473
8.7. Отправка запросов HTTP DELETE с применением NSURLConnection 475
8.8. Отправка запросов HTTP PUT с применением NSURLConnection 477
8.9. Сериализация массивов и словарей в JSON 479
8.10. Десериализация нотации JSON в массивы и словари 482
8.11. Включение в приложения функциональности для работы с Twitter 486
8.12. Синтаксический разбор XML с помощью NSXMLParser 491

Глава 9. Аудио и видео 498
9.0. Введение 498
9.1. Воспроизведение аудиофайлов 498
9.2. Управление прерываниями при воспроизведении аудио 500
9.3. Запись аудио 502
9.4. Управление прерываниями при записи аудио 509
9.5. Воспроизведение аудио на фоне других звуковых сигналов 510
9.6. Воспроизведение видеофайлов 514
9.7. Создание миниатюр из видеофайла 518
9.8. Доступ к музыкальной библиотеке 521

Глава 10. Адресная книга 530
10.0. Введение 530
10.1. Получение ссылки на адресную книгу 532
10.2. Получение списка, зарегистрированных в адресной книге 534
10.3. Получение свойств записей, входящих в адресную книгу 536
10.4. Добавление нового индивидуального контакта в адресную книгу 541
10.5. Добавление нового группового контакта в адресную книгу 545
10.6. Добавление лиц в группы 549
10.7. Поиск в адресной книге 552
10.8. Получение и установка изображения, из адресной книги 557

Глава 11. Камера и библиотека фотографий 565
11.0. Введение 565
11.1. Обнаружение и испытание камеры 567
11.2. Фотографирование с помощью камеры 573
11.3. Запись видео с помощью камеры 577
11.4. Сохранение снимков в библиотеке фотографий 580
11.5. Сохранение видео в библиотеке фотографий 583
11.6. Получение фото и видео из библиотеки фотографий 585
11.7. Получение ресурсов из библиотеки ресурсов 587
11.8. Редактирование видео на устройстве iOS 595

Глава 12. Многозадачность .601
12.0. Введение 601
12.1. Обнаружение доступности многозадачности 602
12.2. Выполнение долгосрочной задачи в фоновом режиме 603
12.3. Получение локальных уведомлений в фоновом режиме 607
12.4. Воспроизведение аудио в фоновом режиме 615
12.5. Обработка геолокационных изменений в фоновом режиме 618
12.6. Сохранение и загрузка состояния приложений iOS 621
12.7. Управление сетевыми соединениями в фоновом режиме 625
12.8. Управление уведомлениями, переходящему в приоритетный режим 628
12.9. Реагирование на изменения в настройках приложения 631
12.10. Отказ от многозадачности 633

Глава 13. Фреймворк Core Data 635
13.0. Введение 635
13.1. Создание модели Core Data с помощью Xcode 638
13.2. Генерирование файлов классов для сущностей Core Data 641
13.3. Создание и сохранение данных с помощью Core Data .644
13.4. Считывание данных из Core Data 646
13.5. Удаление данных из Core Data 649
13.6. Сортировка данных в Core Data 652
13.7. Оптимизация доступа к данным в табличных видах 654
13.8. Реализация отношений в Core Data 668

Глава 14. Даты, календари и события 675
14.0. Введение 675
14.1. Получение списка календарей 678
14.2. Добавление событий в календари 680
14.3. Доступ к содержимому календарей 684
14.4. Удаление событий из календаря 688
14.5. Добавление в календари повторяющихся событий 693
14.6. Получение списка лиц, приглашенных на мероприятие 697
14.7. Добавление напоминаний в календари 702
14.8. Обработка уведомлений об изменениях в событиях 705
14.9. Представление контроллеров для управления видом с событиями 708
14.10. Представление контроллеров для редактирования видов с событиями 712

Глава 15. Графика и анимация 716
15.0. Введение 716
15.1. Перечисление и загрузка шрифтов 724
15.2. Отрисовка текста 726
15.3. Создание, установка и использование цветов 728
15.4. Отрисовка изображений 733
15.5. Отрисовка линий 737
15.6. Создание путей 743
15.7. Отрисовка прямоугольников 747
15.8. Добавление теней к фигурам 751
15.9. Отрисовка градиентов 757
15.10. Перемещение фигур, нарисованных в графических контекстах 765
15.11. Масштабирование фигур, нарисованных в графических контекстах 769
15.12. Вращение фигур, нарисованных в графических контекстах 772
15.13. Анимирование и перемещение видов 774
15.14. Анимирование и масштабирование видов 784
15.15. Анимирование и вращение видов 785

Глава 16. Фреймворк Core Motion 788
16.0. Введение 788
16.1. Обнаружение доступности акселерометра 790
16.2. Обнаружение доступности гироскопа 791
16.3. Получение данных акселерометра 793
16.4. Обнаружение встряхивания устройства с iOS 796
16.5. Получение данных гироскопа 800

Глава 17. iCloud 803
17.0. Введение 803
17.1. Настройка приложения для работы в iCloud 804
17.2. Сохранение и синхронизация словарей в iCloud 809
17.3. Создание каталогов для приложений в iCloud и управление этими каталогами 814
17.4. Поиск файлов и каталогов в iCloud 821
17.5. Сохранение пользовательских документов в iCloud 831
17.6. Управление состоянием документов в iCloud 847
17.7. Обработка конфликтов в документах iCloud 850

ISBN: 978-5-4461-0059-0
Скачать