Разработка приложений для iPhone, iPad и iPod touch с использованием iOS SDK
Дэйв Марк, Джек Наттинг, Джефф Ламарш
В этом бестселлере авторы представили на суд читателей интересный материал, описывающий обновления системы iOS 4 и новейшую версию инструментального средства Xcode 3, разработанного компанией Apple. Все исходные коды были переработаны на основе новейших шаблонов среды Xcode и текущих интерфейсов прикладного программирования. Все иллюстрации сделаны в системе iOS 4 и среде Xcode 3. Данная книга представляет собой полный курс разработки приложений для системы iOS. Прочитав книгу, вы освоите технологию, которая работает на устройствах iPhone, iPad и iPod touch. Книга начинается с объяснений, как загрузить и инсталлировать необходимые инструменты и как создать первое простое приложение. Затем вы изучите способы интеграции элементов интерфейса системы iOS, например, кнопок, переключателей, селекторов, инструментальных панелей и ползунков, которые пользователи должны хорошо знать и широко использовать. Вы освоите множество шаблонов проектирования: от простого одиночного представления до сложных иерархий представлений. Авторы снимают покров таинственности с искусства создания таблиц, вы научитесь сохранять и извлекать данные с помощью механизмов SQLite, встроенной системы управления базами данных в устройстве iPhone и подсистемы Core Data, стандартного механизма обеспечения персистентности, которую компания Apple стала обеспечивать в системе iOS с момента появления версии комплекта инструментов SDK 3.
И это еще не все! Вы научитесь рисовать с помощью библиотек Quartz 2D и OpenGL ES, добавлять в свои приложения поддержку сложных мультисенсорных жестов (щипков и скольжений), а также работать с фотоаппаратом, фотоальбомом, акселерометром и встроенной системой GPS. Вы узнаете, как лучше настроить приложение и научитесь локализовать его для многих языков. Кроме того, вы научитесь использовать новые параллельные интерфейсы прикладного программирования, включенные в систему iOS 4, и создавать надежные многопоточные приложения с помощью механизма Grand Central Dispatch.
Книга: посвящена устройству iPhone 4, благодаря чему она стала бестселлером и самой нужной книгой для разработчиков, использующих технологию Cocoa Touch, написана в простой и ясной манере, содержит много полезных советов и методов, помогающих читателям стать профессиональными разработчиками приложений в системе iOS.
Издательство: Вильямс, 2011 г.
ISBN 978-5-8459-1725-6, 978-1-43-023024-3
Количество страниц: 624.
Содержание книги «Разработка приложений для iPhone, iPad и iPod touch с использованием iOS SDK»:
- 18 Об авторах
- 19 О техническом редакторе
- 19 Благодарности
- 20 Предисловие
- 21 Глава 1. Добро пожаловать в джунгли
- 21 О чем эта книга
- 23 Возможности разработчика
- 24 Что необходимо знать
- 25 Чем отличается программирование для системы iOS?
- 25 Только одно активное приложение
- 26 Только одно окно
- 26 Ограниченный доступ
- 26 Ограниченное время отклика
- 26 Ограниченный размер экрана
- 27 Ограниченные ресурсы системы
- 27 Нет сборки мусора
- 27 Некоторые новшества
- 28 Другой подход
- 28 Содержание книги
- 30 Что нового в данном издании?
- 30 Вы готовы?
- 31 Глава 2. Умиротворение богов Тики
- 31 Настройка проекта в среде Xcode
- 34 Окно Xcode Project
- 37 Введение в программу Interface Builder
- 38 Что записано в nib-файле?
- 39 Добавление метки в окно View
- 41 Изменение атрибутов
- 43 Шлифовка приложения – завершающие штрихи
- 45 Готовность номер один
- 47 Возвращение домой
- 31 Настройка проекта в среде Xcode
- 49 Глава 3. Основы взаимодействия
- 50 Парадигма «модель-контроллер-представление»
- 51 Создание проекта
- 51 Создание контроллера представления
- 52 Выходы
- 53 Действия
- 54 Добавление действий и выходов в контроллер представления
- 57 Добавление действий и выходов в файл реализации
- 62 Использование делегата приложения
- 64 Редактирование файла MainWindow.xib
- 65 Редактирование файла Button_FunViev.Controller.xib
- 65 Создание представления с помощью программы Interface Builder
- 67 Сборка интерфейса
- 70 Испытание
- 70 Возвращаемся домой
- 71 Глава 4. Новые упражнения с интерфейсом
- 71 Экран, наполненный элементами управления
- 73 Активные и пассивные элементы управления
- 74 Создание приложения
- 75 Реализация графического представления и полей редактирования
- 75 Определение выходов
- 76 Определение действий
- 77 Добавление графического представления
- 80 Добавление полей редактирования
- 84 Установка атрибутов для второго поля редактирования
- 84 Присоединение выходов
- 84 Закрытие клавиатуры
- 85 Закрытие клавиатуры при постукивании по кнопке Done
- 86 Закрытие клавиатуры прикосновением к фону
- 89 Реализация ползунка и метки
- 89 Определение выходов действий
- 89 Добавление выходов и действий
- 91 Добавление ползунка и метки
- 92 Связывание действий и выходов
- 92 Реализация переключателем, кнопки сегментированного элемента управления
- 92 Добавление выходов и действий
- 95 Добавление переключателей, кнопки и сегментированного элемента управления
- 96 Связывание выходов переключателя и действий
- 97 Добавление кнопки
- 98 Реализация списка действий и сигнала
- 98 Метод реализующий делегата списка действий
- 99 Демонстрация списка действий
- 101 Использование делегата списка действий
- 102 Украшение кнопки
- 103 Использование метода viewDidLoad
- 104 Растягивающиеся изображения
- 104 Аккуратное обращение с памятью
- 105 Финиш
- 107 Глава 5. Автоматический поворот и изменение размеров
- 108 Механизм автоматического поворота
- 109 Обработка поворота с помощью автоматического изменения размеров
- 109 Настройка поддержки поворота
- 111 Проектирование интерфейса с помощью атрибутов автоматического изменения размеров
- 113 Использование атрибутов автоматического изменения размеров в окне Size Inspector
- 114 Настройки атрибутов автоматического изменения размеров кнопок
- 115 Перестройка представления при повороте
- 117 Объявление и связывание выходов
- 117 Перемещение кнопок при повороте
- 119 Переключение представлений
- 120 Определение выходов и действий
- 121 Объявление действий и выходов
- 122 Проектирование двух представлений
- 123 Реализация переключения и действия
- 125 Поворачиваем
- 127 Глава 6. Приложения с несколькими представлениями
- 127 Основные типы приложений с несколькими представлениями
- 131 Архитектура приложения с несколькими представлениями
- 132 Корневой контроллер
- 134 Устройство представления содержимого
- 134 Создание переключателя представлений
- 135 Создание контроллера представления и nib-файлов
- 137 Модификация делегата приложения
- 138 Файл SwitchVievController.h
- 139 Добавление контроллера представления
- 141 Создание представления с инструментальной панелью
- 142 Создание корневого контроллера представления
- 146 Реализация представлений содержимого
- 149 Анимация перехода
- 152 Переключение
- 153 Глава 7. Панели вкладок и селекторы
- 153 Приложение Pickers
- 156 Делегаты и источники данных
- 157 Настройка каркаса панели вкладок
- 157 Создание файлов
- 158 Добавление корневого контроллера представления
- 160 Редактирование файла MainWindow.xib
- 163 Присоединение выхода и его запуск
- 164 Реализация селектора даты
- 166 Реализация однокомпонентного селектора
- 167 Объявление выходов и действий
- 167 Построение представления
- 168 Реализация контроллера как источника данных и делегата
- 172 Реализация многокомпонентного селектора
- 173 Объявление выходов и действий
- 173 Построение представления
- 174 Реализация контроллера
- 177 Реализация зависимых компонентов
- 183 Создание простой игры с пользовательским селектором
- 183 Создание заголовочного файла контроллера
- 184 Построение представления
- 185 Добавление изображений
- 188 Реализация контроллера
- 188 Метод spin
- 189 Метод viewDidLoad
- 191 Последние штрихи
- 196 Привязка каркаса Audio Toolbox Framework
- 197 Последний оборот
- 199 Глава 8. Введение в табличные представления
- 200 Азы табличных представлений
- 200 Табличные представления и ячейки табличного представления
- 201 Сгруппированные и простые таблицы
- 202 Реализация простой таблицы
- 202 Проектирование представления
- 203 Программирование контроллера
- 206 Добавление изображения
- 206 Использование стилей ячеек табличных представлений
- 210 Настройка уровня отступа
- 210 Обработка выбора строки
- 213 Изменение размера шрифта и высоты ячейки
- 214 Настройка ячеек табличного представления
- 214 Добавление дочерних представлений к ячейкам табличного представления
- 215 Изменение заголовочного файла контроллера
- 216 Реализация кода контроллера
- 219 Загрузка объекта класса UitableViewCell из nib-файла
- 220 Создание новых выходов
- 221 Проектирование ячейки табличного представления в Interface Buikfet
- 223 Использование новой ячейки табличного представления
- 224 Группированные и индексированные разделы
- 224 Построение представления
- 225 Импорт данных
- 225 Реализация контроллера
- 229 Добавление индекса
- 230 Реализация панели поиска
- 230 Пересмотр проекта
- 231 Глубокое изменяемое копирование
- 233 Обновление заголовочного файла контроллера
- 234 Изменение представления
- 235 Изменение реализации контроллера
- 239 Копирование данных из словаря allNames
- 239 Реализация поиска
- 241 Изменения в методе viewDidLoad
- 242 Изменение методов источника да иных
- 242 Добавление метода делегата табличного представления
- 242 Добавление методов делегата панели поиска
- 245 Добавление увеличительного стекла к индексу
- 248 Собираем все в таблице
- 200 Азы табличных представлений
- 249 Глава 9. Контроллеры навигации и табличные представления
- 249 Контроллеры навигации
- 250 В чем «соль» стека
- 250 Стек контроллеров
- 252 Nav – иерархическое приложение в шести частях
- 252 Знакомство с подконтроллерами
- 256 Создание каркаса приложения Nav
- 264 Первый подконтроллер: представление кнопки раскрытия
- 272 Второй подконтроллер: список вариантов
- 277 Третий подконтроллер: элементы управления на строках таблицы
- 284 Четвертый подконтроллер: перемещаемые строки
- 290 Пятый подконтроллер: удаляемые строки
- 296 Шестой подконтроллер: редактируемое детализированное представление
- 317 Но это еще не все...
- 319 Мы на финише
- 249 Контроллеры навигации
- 321 Глава 10. Особенности программирования для iPad
- 321 Раздельные представления и всплывающие меню
- 323 Создание проекта SplitView
- 325 Определение структуры с помощью xib-файла
- 327 Определение функциональности в коде
- 334 Работа над «президентским» приложением
- 338 Создание пользовательского всплывающего меню
- 345 Резюме
- 321 Раздельные представления и всплывающие меню
- 347 Глава 11. Приложение Settings и пользовательские настройки
- 347 Знакомство с пакетом настроек
- 349 Приложение AppSettings
- 350 Создание проекта
- 352 Подготовка пакета настроек
- 364 Чтение настроек в нашем приложении
- 369 Изменение настроек из среды нашего приложения
- 373 Будем реально смотреть на мир
- 376 Телепортируй меня, Скотти
- 377 Глава 12. Персистентность данных
- 377 «Песочница» приложения
- 378 Определение местоположения каталога Documents
- 379 Определение местоположения каталога tmp
- 379 Стратегии сохранения файлов
- 380 Однофайловая персистентность
- 380 Многофайловая персистентнность
- 380 Использование списков свойств
- 381 Последовательная сериализация списка свойств
- 382 Первая версия приложения Persistence
- 387 Архивирование объектов моделей
- 388 Соответствие протоколу NSCoding
- 389 Реализация протокола NSCopying
- 390 Архивирование и раза архивирование объектов данных
- 391 Приложение Archiving
- 395 Использование встроенной в iOS базы данных SQLite3
- 396 Создание или открытие базы данных
- 397 Использование связанных переменных
- 399 Приложение SQLite3
- 406 Использование подсистемы CoreData
- 407 Сущности и управляемые объекты
- 411 Приложение Core Data
- 420 Настойчивость вознаграждается
- 377 «Песочница» приложения
- 421 Глава 13. Организация фоновой обработки средствами технологии Grand Central Dispatch
- 421 Диспетчер Grand Central Dispatch
- 422 Введение в приложение SLOWWORKER
- 425 Основы многопоточной обработки
- 427 Единицы работы
- 427 Организация очередей на низком уровне средствами GCD
- 428 Особое назначение блоков
- 429 Усовершенствование приложения SlowWorker
- 435 Фоновая обработка
- 436 Жизненный цикл приложения
- 437 Уведомления о смене состояния
- 439 Создание приложения StateLab
- 440 Исследование состояний исполнения
- 442 Практическое применение смены состояний исполнения
- 443 Обработка неактивного состояния
- 446 Обработка фонового состояния
- 458 Прощание с диспетчером GCD
- 459 Глава 14. Рисование средствами Quartz и OpenGL
- 459 Две точки зрения на графику
- 460 Метод рисования, принятый в технологии Quartz
- 460 Графические контексты технологии Quartz
- 461 Система координат
- 462 Задание цветов
- 465 Рисование изображений в контексте
- 465 Рисование форм: прямоугольников, прямых и кривых линий
- 466 Образцы инструментальных средств Quartz 2D: узоры, градиенты и пунктиры
- 467 Приложение quartzfun
- 467 Создание приложения
- 477 Ввод кода рисования из библиотеки Quartz2D
- 482 Оптимизация приложения QuartzFun
- 486 Приложение GLFUN
- 487 Создание приложения GLFUN
- 489 Рисование средствами библиотеки OpenGL ES
- 496 Завершение приложения GLFun
- 497 Рисование до предела
- 499 Глава 15. Постукивания, касания и жесты
- 500 Мультисенсорная терминология
- 501 Цепочка реагирующих элементов
- 501 Передача события вверх по цепочке реагирующих элементов
- 502 Передача события по цепочке реагирующих элементов, поддерживаемой в активном состоянии
- 503 Мультисенсорная архитектура
- 503 Где должен размещаться код обработки касания
- 503 Четыре метода уведомления о касаниях
- 504 Распознавание касаний
- 505 Построение приложения TouchExplorer
- 508 Выполнение приложения TouchExplorer
- 509 Распознавание скольжения пальцами по экрану
- 510 Создание приложения Swipes
- 512 Применение автоматического распознавания жестов
- 514 Реализация скольжения несколькими пальцами по экрану
- 515 Распознавание многократных постукиваний по экрану
- 521 Распознавание щипковых жестов
- 524 Создание и применение специальных жестов
- 524 Определение жеста «галочка»
- 528 Присоединение распознавателя жестов «галочка» к представлению
- 529 Официант, счет!
- 531 Глава 16. Ориентирование на местности средствами подсистемы Core Location
- 532 Диспетчер местоположения
- 532 Задание требуемой точности
- 533 Установка фильтра расстояния
- 533 Запуск диспетчера местоположения
- 534 Благоразумное использование диспетчера местоположения
- 534 Делегат диспетчера местоположения
- 534 Получение обновлений местоположения с помощью класса CCLocation
- 536 Уведомления об ошибках
- 537 Опробование подсистемы Core Location
- 541 Обновление диспетчера местоположения
- 542 Определение пройденного расстояния
- 543 Куда ни пойдешь всюду себя найдешь
- 532 Диспетчер местоположения
- 545 Глава 17. Чудесные свойства акселерометра и гироскопа
- 545 Физические основы работы акселерометра
- 547 Не забывайте о вращении
- 547 Оболочка Core Motion и диспетчер движения
- 548 Движение на основе событий
- 553 Упреждающий доступ к данным о движении
- 556 Результаты измерений акселерометром
- 557 Обнаружение сотрясений
- 558 Встроенные средства обнаружения сотрясений
- 559 Сотрясение на грани поломки
- 564 Акселерометр в качестве контроллера направления
- 564 Катание шаров
- 566 Построение представления для шарика
- 569 Расчет движения шарика
- 572 Продвижение вперед
- 573 Глава 18. Встроенная фотокамера и фотоархив
- 573 Применение селектора изображений и класса UIImagePickerConttoller
- 575 Реализация делегата контроллера для селектора изображений
- 577 Полевые испытания фотокамеры и фотоархива
- 579 Разработка интерфейса приложения
- 570 Реализация контроллера представления фотокамеры
- 584 Проще простого!
- 585 Глава 19. Локализация приложений
- 585 Архитектура локализации
- 587 Файлы символьных арок
- 587 Содержимое файла символьных строк
- 588 Макрокоманда для локализации символьных арок
- 588 Локализация реального приложения под iOS
- 589 Создание приложения Localized
- 593 Тестирование приложения LocalizeMe
- 594 Локализация nib-файла
- 597 Локализация национального флага
- 599 Формирование и локализация файла символьных арок
- 601 Локализация отображаемого названия приложения
- 603 Перед тем, как попрощаться
- 605 Глава 20. Что дальше
- 605 Выход из затруднительного положения
- 605 Документация, предоставляемая компанией Apple
- 605 Списки рассылки
- 607 Дискуссионные форумы
- 607 Веб-сайты
- 608 Блоги
- 609 Конференции
- 610 Следите за публикациями авторов книги
- 610 На прощание
- 605 Выход из затруднительного положения
- 611 Предметный указатель
Инструкция как скачать книгу Дэйв Марк, Джек Наттинг, Джефф Ламарш: Разработка приложений для iPhone, iPad и iPod touch с использованием iOS SDK в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.