iOS. Приемы программирования
Вандад Нахавандипур
Книга, которую вы держите в руках, представляет собой новый, полностью переписанный сборник приемов программирования по работе с iOS. Он поможет вам справиться с наболевшими проблемами, с которыми приходится сталкиваться при разработке приложений для iPhone, iPad и iPod Touch. Вы быстро освоите всю информацию, необходимую для начала работы с iOS 7 SDK, в частности познакомитесь с решениями для добавления в ваши приложения реалистичной физики или движений - в этом вам помогут API UIKit Dynamics.
Вы изучите новые многочисленные способы хранения и защиты данных, отправки и получения уведомлений, улучшения и анимации графики, управления файлами и каталогами, а также рассмотрите многие другие темы. При описании каждого приема программирования приводятся образцы кода, которые вы можете смело использовать.
Издательство: Питер, 2014 г.
ISBN 978-5-496-01016-0
Количество страниц: 832.
Содержание книги «iOS. Приемы программирования»:
- 13 Предисловие
- 14 Для кого предназначена книга
- 14 Как построено издание
- 18 Дополнительные ресурсы
- 19 Условные сокращения, используемые в данной книге
- 19 Работа с примерами кода
- 20 Нам интересны ваши отзывы
- 20 Благодарности
- 21 От издательства
- 22 Глава 1. Реализация контроллеров и видов
- 22 1.0. Введение
- 44 1.1. Отображение предупреждений с помощью UIAlertView
- 53 1.2. Создание и использование переключателей с помощью UISwitch
- 57 1.3. Оформление UISwitch
- 60 1.4. Выбор значений с помощью UIPickerView
- 66 1.5. Выбор даты и времени с помощью UIDatePicker
- 71 1.6. Реализация инструмента для выбора временных рамок с помощью UISlider
- 75 1.7. Оформление UISlider
- 80 1.8. Группирование компактных параметров с помощью UISegmentedControl
- 84 1.9. Представление видов и управление ими с помощью UIViewController
- 88 1.10. Предоставление возможностей совместного использования информации с применением UIActivityViewController
- 93 1.11. Предоставление специальных возможностей совместного использования данных с применением UIActivityViewController
- 98 1.12. Внедрение навигации с помощью UINavigationController
- 104 1.13. Управление массивом контроллеров видов, относящихся к навигационному контроллеру
- 106 1.14. Демонстрация изображения на навигационной панели
- 107 1.15. Добавление кнопок на навигационные панели с помощью UIBsrButtonItem
- 114 1.16. Представление контроллеров, управляющих несколькими видами, с помощью UITabBarController
- 119 1.17. Отображение статического текста с помощью UILabel
- 124 1.18. Оформление UILabel
- 126 1.19. Прием пользовательского текстового ввода с помощью UITextField
- 136 1.20. Отображение длинных текстовых строк с помощью UITextView
- 140 1.21. Добавление кнопок в пользовательский интерфейс с помощью UIButton
- 145 1.22. Показ изображений с помощью UIImageView
- 149 1.23. Создание прокручиваемого контента с помощью UIScrollView
- 155 1.24. Загрузка веб-страниц с помощью UIWebView
- 159 1.25. Отображение протекания процессов с помощью UIProgressView
- 161 1.26. Создание и отображение текстов с оформлением
- 165 1.27. Представление видов «Основной — детали» с помощью UISplitViewController
- 169 1.28. Организация разбивки на страницы с помощью UIPageViewController
- 175 1.29. Отображение вспомогательных экранов с помощью UIPopoverController
- 184 Глава 2. Создание динамических и интерактивных пользовательских интерфейсов
- 184 2.0. Введение
- 186 2.1. Добавление тяготения к компонентам пользовательского интерфейса
- 187 2.2. Обнаружение столкновений между компонентами пользовательского интерфейса и реагирование на них
- 194 2.3. Анимирование компонентов пользовательского интерфейса с помощью толчков
- 199 2.4. Прикрепление нескольких динамических элементов друг к другу
- 203 2.5. Добавление эффекта динамического зацепления к компонентам пользовательского интерфейса
- 206 2.6. Присваивание характеристик динамическим эффектам
- 211 Глава 3. Автоматическая компоновка и язык визуального форматирования
- 211 3.0. Введение
- 214 3.1. Размещение компонентов пользовательского интерфейса в центре экрана
- 217 3.2. Определение горизонтальных и вертикальных ограничений на языке визуального форматирования
- 224 3.3. Применение ограничений при работе с перекрестными видами
- 231 3.4. Конфигурирование ограничений автоматической компоновки в конструкторе интерфейсов
- 234 Глава 4. Создание и использование табличных видов
- 234 4.0. Введение
- 238 4.1. Наполнение табличного вида данными
- 242 4.2. Использование дополнительных элементов в ячейке табличного вида
- 245 4.3. Создание специальных дополнительных элементов в ячейке табличного вида
- 248 4.4. Обеспечение удаления смахиванием в ячейках табличных видов
- 249 4.5. Создание верхних и нижних колонтитулов в табличных видах
- 260 4.6. Отображение контекстных меню в ячейках табличных видов
- 264 4.7. Перемещение ячеек и разделов в табличных видах
- 270 4.8. Удаление ячеек и разделов в табличных видах
- 280 4.9. Использование UITableViewController для удобства при создании табличных видов
- 286 4.10. Отображение элемента управления, предназначенного для обновления информации в табличных видах
- 290 Глава 5. Выстраивание сложных макетов с помощью сборных видов
- 290 5.0. Введение
- 292 5.1. Создание сборных видов
- 295 5.2. Присваивание источника данных сборному виду
- 297 5.3. Обеспечение последовательной компоновки в сборном виде
- 299 5.4. Наполнение сборного вида простейшим содержимым
- 304 5.5. Заполнение сборных видов специальными ячейками с помощью XIB-файлов
- 309 5.6. Обработка событий в сборных видах
- 314 5.7. Создание верхних и нижних колонтитулов в макете с последовательной компоновкой
- 319 5.8. Добавление собственных вариантов взаимодействий к сборным видам
- 322 5.9. Представление контекстных меню в ячейках сборных видов
- 325 Глава 6. Раскадровки
- 325 6.0. Введение
- 326 6.1. Добавление в раскадровку навигационного контроллера
- 326 6.2. Передача данных с одного экрана на другой
- 333 6.3. Добавление в раскадровку контроллера с панелью вкладок
- 335 6.4. Внедрение специальных переходов между сегвеями в раскадровке
- 340 6.5. Размещение изображений и других компонентов пользовательского интерфейса в раскадровках
- 343 Глава 7. Параллелизм
- 343 7.0. Введение
- 350 7.1. Создание блоковых объектов
- 354 7.2. Доступ к переменным в блоковых объектах
- 360 7.3. Вызов блоковых объектов
- 362 7.4. Решение с помощью GCD задач, связанных с пользовательским интерфейсом
- 366 7.5. Синхронное решение с помощью GCD задач, не связанных с пользовательским интерфейсом
- 370 7.6. Асинхронное решение с помощью GCD задач, не связанных с пользовательским интерфейсом
- 376 7.7. Выполнение задач после задержки с помощью GCD
- 380 7.8. Однократное выполнение задач с помощью GCD
- 382 7.9. Объединение задач в группы с помощью GCD
- 386 7.10. Создание собственных диспетчерских очередей с помощью GCD
- 389 7.11. Синхронное выполнение задач с помощью операций
- 395 7.12. Асинхронное выполнение задач с помощью операций
- 401 7.13. Создание зависимости между операциями
- 404 7.14. Создание таймеров
- 409 7.15. Параллельное программирование с использованием потоков
- 415 7.16. Активизация фоновых методов
- 416 7.17. Выход из потоков и таймеров
- 420 Глава 8. Безопасность
- 420 8.0. Введение
- 427 8.1. Обеспечение безопасности и защиты в приложениях
- 431 8.2. Хранение значений в связке ключей
- 433 8.3. Нахождение значений в связке ключей
- 438 8.4. Обновление значений в связке ключей
- 441 8.5. Удаление значений из связки ключей
- 443 8.6. Совместное использование данных из связки ключей в нескольких приложениях
- 449 8.7. Запись и считывание информации связки ключей из iCloud
- 452 8.8. Безопасное хранение файлов в песочнице приложения
- 455 8.9. Защита пользовательского интерфейса
- 458 Глава 9. Core Location и карты
- 458 9.0. Введение
- 459 9.1. Создание картографического вида
- 461 9.2. Обработка событий картографического вида
- 462 9.3. Отметка местоположения устройства
- 464 9.4. Отображение маркеров в картографическом виде
- 468 9.5. Отображение разноцветных маркеров в картографическом виде
- 474 9.6. Отображение пользовательских маркеров в картографическом виде
- 477 9.7. Преобразование обычных адресов в данные широты и долготы
- 478 9.8. Преобразование данных широты и долготы в обычные адреса
- 481 9.9. Поиск в картографическом виде
- 484 9.10. Отображение направлений на карте
- 490 Глава 10. Реализация распознавания жестов
- 490 10.0. Введение
- 492 10.1. Обнаружение жестов смахивания
- 494 10.2. Обнаружение жестов вращения
- 498 10.3. Обнаружение жестов панорамирования и перетаскивания
- 500 10.4. Обнаружение жестов долгого нажатия
- 503 10.5. Обнаружение жестов-нажатий
- 505 10.6. Обнаружение щипка
- 508 Глава 11. Сетевые функции, JSON, XML и Twitter
- 508 11.0. Введение
- 508 11.1. Асинхронная загрузка с применением NSURLConnection
- 511 11.2. Обработка задержек при асинхронных соединениях
- 513 11.3. Синхронная загрузка с применением NSURLConnection
- 515 11.4. Изменение URL-запроса с применением NSMutableURLRequest
- 516 11.5. Отправка запросов HTTP GET с применением NSURLConnection
- 518 11.6. Отправка запросов HTTP POST с применением NSURLConnection
- 520 11.7. Отправка запросов HTTP DELETE с применением NSURLConnection
- 521 11.8. Отправка запросов HTTP PUT с применением NSURLConnection
- 523 11.9. Сериализация массивов и словарей в JSON
- 525 11.10. Десериализация нотации JSON в массивы и словари
- 529 11.11. Включение в приложения функций социального обмена контентом
- 532 11.12. Синтаксический разбор XML с помощью NSXMLParser
- 538 Глава 12. Управление файлами и каталогами
- 538 12.0. Введение
- 540 12.1. Определение пути к самым полезным каталогам на диске
- 542 12.2. Запись информации в файлы и считывание информации из файлов
- 547 12.3. Создание каталогов на диске
- 549 12.4. Перечисление файлов и каталогов
- 554 12.5. Удаление файлов и каталогов
- 557 12.6. Сохранение объектов в файлах
- 561 Глава 13. Камера и библиотека фотографий
- 561 13.0. Введение
- 563 13.1. Обнаружение и испытание камеры
- 568 13.2. Фотографирование с помощью камеры
- 572 13.3. Запись видео с помощью камеры
- 576 13.4. Сохранение снимков в библиотеке фотографий
- 579 13.5. Сохранение видео в библиотеке фотографий
- 582 13.6. Получение фото и видео из библиотеки фотографий
- 584 13.7. Получение ресурсов из библиотеки ресурсов
- 592 13.8. Редактирование видео на устройстве с операционной системой iOS
- 597 Глава 14. Многозадачность
- 597 14.0. Введение
- 597 14.1. Обнаружение доступности многозадачности
- 599 14.2. Выполнение долгосрочной задачи в фоновом режиме
- 603 14.3. Добавление возможностей фонового обновления в приложения
- 612 14.4. Воспроизведение аудио в фоновом режиме
- 615 14.5. Обработка геолокационных изменений в фоновом режиме
- 618 14.6. Сохранение и загрузка состояния приложений iOS, использующих многозадачность
- 622 14.7. Управление сетевыми соединениями в фоновом режиме
- 625 14.8. Отказ от многозадачности
- 627 Глава 15. Уведомления
- 627 15.0. Введение
- 628 15.1. Отправка уведомлений
- 630 15.2. Слушание уведомлений и реагирование на них
- 634 15.3. Слушание уведомлений, поступающих с клавиатуры, и реагирование на них
- 641 15.4. Планирование локальных уведомлений
- 645 15.5. Слушание локальных уведомлений и реагирование на них
- 648 15.6. Обработка локальных системных уведомлений
- 652 15.7. Настройка приложения для получения пуш-уведомлений
- 658 15.8. Доставка пуш-уведомлений в приложение
- 666 15.9. Реагирование на пуш-уведомления
- 668 Глава 16. Фреймворк Core Data
- 668 16.0. Введение
- 670 16.1. Создание модели Core Data с помощью Xcode
- 673 16.2. Генерирование файлов классов для сущностей Core Data
- 677 16.3. Создание и сохранение данных с помощью Core Data
- 679 16.4. Считывание данных из Core Data
- 682 16.5. Удаление данных из Core Data
- 685 16.6. Сортировка данных в Core Data
- 687 16.7. Оптимизация доступа к данным в табличных видах
- 694 16.8. Реализация отношений в Core Data
- 700 16.9. Выборка данных в фоновом режиме
- 705 16.10. Использование специальных типов данных в модели Core Data
- 710 Глава 17. Графика и анимация
- 710 17.0. Введение
- 716 17.1. Перечисление и загрузка шрифтов
- 717 17.2. Отрисовка текста
- 719 17.3. Создание, установка и использование цветов
- 724 17.4. Отрисовка изображений
- 727 17.5. Создание адаптивных изображений
- 732 17.6. Отрисовка линий
- 740 17.7. Создание путей
- 743 17.8. Отрисовка прямоугольников
- 748 17.9. Добавление теней к фигурам
- 754 17.10. Отрисовка градиентов
- 762 17.11. Перемещение фигур, нарисованных в графических контекстах
- 767 17.12. Масштабирование фигур, нарисованных в графических контекстах
- 769 17.13. Вращение фигур, нарисованных в графических контекстах
- 770 17.14. Анимирование и перемещение видов
- 779 17.15. Анимирование и масштабирование видов
- 781 17.16. Анимирование и вращение видов
- 782 17.17. Получение изображения со скриншотом вида
- 785 Глава 18. Фреймворк Core Motion
- 785 18.0. Введение
- 786 18.1. Обнаружение доступности акселерометра
- 788 18.2. Обнаружение доступности гироскопа
- 789 18.3. Получение данных акселерометра
- 792 18.4. Обнаружение встряхивания устройства с iOS
- 793 18.5. Получение данных гироскопа
- 796 Глава 19. Фреймворк Pass Kit
- 796 19.0. Введение
- 799 19.1. Создание сертификатов Pass Kit
- 805 19.2. Создание файлов талонов
- 813 19.3. Подготовка пиктограмм и изображений для талонов
- 814 19.4. Подготовка талонов к цифровому подписыванию
- 817 19.5. Цифровое подписывание талонов
- 821 19.6. Распространение талонов по электронной почте
- 823 19.7. Распространение талонов с помощью веб-сервисов
- 824 19.8. Настройка возможности доступа к талонам в приложениях, работающих на устройстве с операционной системой iOS
- 830 19.9. Взаимодействие с Passbook с помощью программирования
Инструкция как скачать книгу Вандад Нахавандипур: iOS. Приемы программирования в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.