Программирование под iOS. Для профессионалов

Дж. Конвэй, А. Хиллегасс

Эта книга, выходящая уже в третьем издании и удостоенная премии «Jolt Productivity Award 2012» по версии Dr. Dobb's Journal, научит вас всем тонкостям разработки приложений для устройств на iOS (iPhone, iPad и iPod Touch). Основанное на учебном курсе известного образовательного IT-проекта Big Nerd Ranch, это практическое пособие содержит ключевые концепции программирования в iOS, множество примеров кода и упражнений по разработке приложений. Новое издание охватывает версии iOS 5 и Xcode 4.3.

Издательство: Питер, 2013 г.

ISBN 978-5-4461-0102-3, 978-0321821522

Количество страниц: 608.

Содержание книги «Программирование под iOS. Для профессионалов»:

  • 15 Благодарности
  • 16 Предисловие
    • 16 Предварительные соображения
    • 17 Изменения в третьем издании книги
    • 17 Философия обучения
    • 18 Как использовать книгу
    • 19 Структура книги
    • 21 Правила оформления кода
    • 22 Используемые стили
    • 22 Требуемое оборудование и программы
  • 24 Глава 1. Простое приложение iOS
    • 25 Создание проекта Xcode
    • 27 Создание интерфейсов
    • 31 Шаблон Model-View-Controller
    • 33 Объявления
      • 33 Объявление переменных экземпляра класса
      • 34 Объявление методов
      • 35 Создание подключений
      • 36 Установка указателей
      • 37 Настройка целей и действий
      • 39 Обзор подключений
    • 39 Реализация методов
    • 42 Построение приложения и выполнение на симуляторе
    • 44 Развертывание приложения
    • 46 Значки приложений
    • 47 Изображение запуска
  • 50 Глава 2. Objective-C
    • 50 Объекты
    • 51 Использование экземпляров класса
      • 51 Создание объекта
      • 52 Отправка сообщений
      • 53 Разрушение объектов
    • 54 Начало разработки проекта RandomPossessions
      • 58 Создание строк
      • 59 Форматирование строк
      • 59 Объекты NSArray и NSMutableArray
    • 61 Подклассы классов в Objective-C
      • 62 Создание подкласса класса NSObject
      • 64 Переменные экземпляра класса
      • 65 Методы-аксессоры
      • 69 Методы экземпляра класса
      • 70 Инициализаторы
      • 74 Другие инициализаторы и цепь инициализаторов
      • 76 Использование инициализаторов
      • 77 Методы класса
      • 79 Тестирование подкласса
    • 80 Исключения и нераспознанные селекторы
    • 82 Быстрая нумерация
    • 82 Задачи
    • 83 Бронзовая задача: поиск ошибок
    • 83 Серебряная задача: другой инициализатор
    • 83 Золотая задача: другой класс
    • 83 Вы любознательны?
    • 84 Для любознательных: имена классов
  • 85 Глава 3. Управление памятью с помощью ARC
    • 85 Куча
    • 86 Стек
    • 87 Переменные-указатели и владение объектами
    • 88 Управление памятью
      • 88 Использование ARC для управления памятью
      • 89 Каким образом объекты теряют владельцев
    • 92 Сильные и слабые ссылки
    • 97 Свойства
      • 97 Объявление свойств
      • 99 Синтез свойств
      • 101 Переменные и свойства экземпляра класса
    • 102 Копирование
    • 103 Точечный синтаксис
    • 103 Для любознательных: автоматическое освобождение пула и очистка журнала ARC
  • 106 Глава 4. Делегирование и Core Location
    • 107 Проекты, цели и фреймворки
    • 109 Core Location
      • 110 Получение обновлений от диспетчера CLLocationManager
    • 112 Делегирование
      • 113 Протоколы
      • 116 Делегирование, контроллеры и управление памятью
    • 117 Использование отладчика
      • 117 Применение точек прерывания
      • 119 Построчное выполнение кода
      • 121 Диагностика сбоев и исключений
    • 123 Бронзовая задача: фильтр расстояния
    • 124 Серебряная задача: направление движения
    • 124 Для любознательных: фазы построения приложения, ошибки компилятора и компоновщика
      • 124 Предварительная обработка
      • 125 Компиляция
      • 127 Связывание
  • 129 Глава 5. Фреймворк MapKit и Input Text
    • 129 Объектные диаграммы
    • 130 Фреймворк MapKit
    • 131 Свойства интерфейса
    • 134 Будьте делегатом MapView
      • 135 Использование документации
      • 140 Протокол MKAnnotation
      • 144 Тегирование локаций
      • 145 Собираем все вместе
    • 147 Бронзовая задача: тип карты
    • 147 Серебряная задача: изменение типа карты
    • 147 Золотая задача: расширение аннотации
  • 148 Глава 6. Подклассы UIView и UIScrollView
    • 150 Представления и иерархия представлений
    • 151 Создание пользовательского представления
    • 155 Метод drawRect
    • 158 Фреймворк Core Graphics
    • 160 Графические дополнения UIKit
    • 161 Перерисовывание представлений
    • 163 События движения
    • 165 Использование представления UIScrollView
      • 167 Панорамирование и разбиение на страницы
      • 168 Масштабирование
    • 170 Скрытие строки состояния
    • 170 Бронзовая задача: цвета
    • 170 Серебряная задача: фигуры
    • 171 Золотая задача: другое представление и кривые
  • 172 Глава 7. Контроллеры представлений
    • 172 UIViewController
      • 172 Создание приложения HypnoTime
      • 173 Подклассы класса UIViewController
      • 176 Другой контроллер UIViewController
    • 183 UITabBarController
    • 186 Жизненный цикл контроллера представлений
      • 187 Инициализация контроллеров представлений
      • 188 Контроллер UIViewController и «ленивая» загрузка
      • 191 Выгрузка представлений
      • 193 Отображение и скрытие представлений
    • 194 Подклассы и шаблоны контроллера представлений
    • 195 Бронзовая задача: другая вкладка
    • 196 Серебряная задача: логика контроллера
    • 196 Для любознательных: функция main и UIApplication
    • 196 Для любознательных: дисплей Retina
  • 199 Глава 8. Уведомления и вращение
    • 199 Центр уведомлений
    • 201 Уведомления UIDevice
    • 202 Автовращение
      • 209 Программная настройка масок автоматического изменения размеров и поразрядные операции
    • 211 Переход в альбомный режим
    • 212 Бронзовая задача: уведомления о приближении
    • 212 Серебряная задача: программная установка масок автоматического изменения размеров
    • 213 Золотая задача: переопределение автовращения
    • 213 Для любознательных: переопределение автовращения
  • 215 Глава 9. UITableView и UITableViewController
    • 215 Начинаем разработку приложения Homepwner
    • 217 UITableViewController
      • 217 Создание подкласса класса UITableViewController
    • 220 Источник данных UITableView
      • 220 Создание подкласса BNRItemStore
      • 224 Реализация методов источника данных
    • 226 UITableViewCells
      • 228 Создание и выборка UITableViewCells
      • 229 Повторное использование UITableViewCells
    • 231 Библиотека фрагментов кода
    • 233 Бронзовая задача: разделы
    • 233 Серебряная задача: строки констант
    • 233 Золотая задача: настройка таблицы
  • 234 Глава 10. Редактирование UITableView
    • 234 Режим редактирования
    • 240 Добавление строк
    • 242 Удаление строк
    • 243 Перемещение строк
    • 245 Бронзовая задача: переименование кнопки удаления
    • 245 Серебряная задача: предотвращение переупорядочения
    • 245 Золотая задача: реальное предотвращение переупорядочивания
  • 246 Глава 11. UINavigationController
    • 246 Контроллер UINavigationController
    • 250 Дополнительный контроллер UIViewController
    • 256 Выполнение навигации с помощью UINavigationController
      • 256 Помещение в стек контроллеров представлений
      • 258 Передача данных между контроллерами представлений
      • 260 Отображение и скрытие представлений
    • 261 UINavigationBar
    • 265 Бронзовая задача: отображение цифровой клавиатуры
    • 266 Серебряная задача: скрытие цифровой клавиатуры
    • 266 Золотая задача: помещение в стек большего числа контроллеров представлений
  • 267 Глава 12. Camera
    • 267 Отображение изображений и представление UIImageView
      • 269 Фотосъемка и контроллер UIImagePickerController
      • 276 Создание хранилища BNRImageStore
      • 277 NSDictionary
      • 279 Создание и использование ключей
      • 281 Фреймворк Core Foundation и абсолютно свободное связывание
      • 282 Завершение создания BNRImageStore
      • 284 Скрытие клавиатуры
    • 286 Бронзовая задача: коррекция изображения
    • 286 Серебряная задача: удаление изображения
    • 286 Золотая задача: наложение камеры
    • 286 Для любознательных: запись видео
  • 289 Глава 13. Контроллер UIPopoverController и контроллеры модальных представлений
    • 289 Универсализация приложения Homepwner
      • 291 Определение семейства устройств
    • 292 UIPopoverController
    • 295 Подробнее о модальных контроллерах представлений
      • 297 Сокрытие модальных контроллеров представлений
      • 299 Стили модального контроллера представлений
      • 301 Блоки завершения
      • 303 Эффекты перехода для модального контроллера представлений
    • 303 Бронзовая задача: универсализация приложения Whereami
    • 303 Серебряная задача: всегда листаем страницы
    • 303 Золотая задача: изменение вида «плавающих» окон
    • 304 Для любознательных: взаимосвязи контроллера представлений
      • 304 Взаимосвязи «предок-потомок»
      • 304 Взаимосвязи «презентующий-презентуемый»
      • 306 Взаимосвязи внутри семейства
  • 309 Глава 14. Сохранение, загрузка и применение состояний
    • 309 Архивирование
    • 311 Песочница приложения
      • 313 Создание пути к файлу
    • 313 Классы NSKeyedArchiver и NSKeyedUnarchiver
    • 317 Состояния приложения и переходы между ними
    • 319 Запись в файловой системе с помощью NSData
    • 322 Предупреждения о нехватке памяти
    • 323 Шаблон проектирования «модель-представление-контроллер-хранилище»
    • 324 Бронзовая задача: PNG
    • 324 Серебряная задача: архивирование приложения Whereami
    • 324 Для любознательных: переходы между состояниями приложения
    • 326 Для любознательных: чтение и запись в файловой системе
    • 328 Для любознательных: пакет приложения
  • 331 Глава 15. Разбиение на подклассы класса UITableViewCell
    • 331 Создание класса HomepwnerItemCell
      • 333 Конфигурирование интерфейса UITableViewCell
      • 334 Исследование свойств класса HomepwnerItemCell
      • 335 Использование класса HomepwnerItemCell
    • 337 Манипулирование изображениями
    • 341 Ретрансляция действий из UITableViewCells
      • 342 Добавление контроллеров к подклассу ячейки
      • 343 Ретрансляция сообщения контроллеру
      • 344 Магия селектора Objective-C
      • 346 Представление изображения контроллером «плавающего» окна
    • 349 Бронзовая задача: цветовое кодирование
    • 349 Серебряная задача: базовый класс ячейки
    • 349 Золотая задача: масштабирование
  • 350 Глава 16. Core Data
    • 350 Отображение, связанное с объектами
    • 351 Переход на использование Core Data в приложении Homepwner
      • 351 Файл модели
      • 356 Объект NSManagedObject и его подклассы
      • 359 Обновление BNRItemStore
      • 365 Добавление сущностей BNRAssetTypes в приложение Homepwner
    • 370 Немного об SQL
    • 370 Сбои
    • 372 Достоинства и недостатки механизмов обеспечения постоянства существования
    • 373 Бронзовая задача: ресурсы на iPad
    • 373 Серебряная задача: новые типы ресурсов
    • 373 Золотая задача: отображение ресурсов по типу
  • 374 Глава 17. Локализация
    • 375 Интернационализация, выполняемая с помощью NSLocale
    • 376 Локализация ресурсов
    • 380 Функция NSLocalizedString и таблицы строк
    • 382 Бронзовая задача: другая локализация
    • 382 Для любознательных: роль функции NSBundle в интернационализации
  • 383 Глава 18. Класс NSUserDefaults
    • 383 Обновление приложения Whereami
    • 384 Использование класса NSUserDefaults
    • 387 Серебряная задача: начальная локация
    • 388 Золотая задача: Concise Coordinates
    • 388 Для любознательных: приложение Settings
  • 389 Глава 19. События прикосновения и UIResponder
    • 389 События прикосновения
    • 391 Создание приложения TouchTracker
    • 392 Рисование с помощью TouchDrawView
    • 394 Преобразование прикосновения в линию
    • 396 Цепочка респондера
    • 398 Бронзовая задача: сохранение и загрузка
    • 398 Серебряная задача: цвета
    • 398 Золотая задача: окружности
    • 398 Для любознательных: UIControl
  • 400 Глава 20. Объекты UIGestureRecognizer и UIMenuController
    • 400 Подклассы класса UIGestureRecognizer
    • 401 Обнаружение тапов с помощью UITapGestureRecognizer
    • 404 Класс UIMenuController
    • 406 UILongPressGestureRecognizer
    • 407 Распознаватель UIPanGestureRecognizer и распознаватели синхронности
    • 410 Для любознательных: UIMenuController и UIResponderStandardEditActions
    • 411 Для любознательных: дополнительно о UIGestureRecognizer
    • 412 Бронзовая задача: удаление линий
    • 412 Серебряная задача: мистические линии
    • 412 Золотая задача: скорость и размер
    • 413 Мегазолотая задача: цвета
  • 414 Глава 21. Инструменты
    • 414 Статический анализатор
    • 416 Средство Instruments
      • 416 Инструмент Allocations
      • 423 Инструмент Time ProŸler
      • 426 Инструмент Leaks
    • 428 Схемы Xcode
      • 429 Создание новой схемы
    • 431 Настройки компиляции
  • 435 Глава 22. Слой Core Animation
    • 435 Слои и представления
    • 436 Создание класса CALayer
    • 439 Контекст слоя
    • 441 Неявно анимируемые свойства
    • 442 Бронзовая задача: другой слой
    • 442 Серебряная задача: радиус закругленного угла
    • 443 Золотая задача: тени
    • 443 Для любознательных: программное генерирование контента
    • 444 Для любознательных: слои, растры и контексты
  • 446 Глава 23. Управление анимацией с помощью CAAnimation
    • 446 Объекты анимации
    • 449 Вращение, выполняемое с помощью объекта CABasicAnimation
      • 452 Функции работы со временем
      • 453 Завершение анимации
    • 454 Создание эффекта отскока с помощью класса CAKeyframeAnimation
    • 456 Бронзовая задача: дополнительная анимация
    • 456 Серебряная задача: еще одна дополнительная анимация
    • 456 Золотая задача: цепочка анимаций
    • 456 Для любознательных: слой презентации и слой модели
  • 458 Глава 24. UIStoryboard
    • 458 Создание сториборда
    • 462 Контроллеры UITableViewController в сториборде
    • 464 Сегвеи
    • 468 Дополнительно о сторибордах
  • 470 Глава 25. Веб-службы и представление UIWebView
    • 471 Веб-службы
      • 472 Начнем создавать приложение Nerdfeed
      • 473 Классы NSURL, NSURLRequest и NSURLConnection
      • 474 Форматирование URL-ссылок и запросов
      • 475 Работа с классом NSURLConnection
      • 476 Сбор XML-данных
      • 479 Синтаксический анализ XML с помощью NSXMLParser
      • 480 Конструирование дерева, состоящего из объектов-моделей
      • 489 Быстрый перехват регистрации
    • 490 Представление UIWebView
    • 492 Для любознательных: парсер NSXMLParser
    • 493 Для любознательных: тело запроса
    • 495 Для любознательных: аттестаты
    • 496 Бронзовая задача: дополнительные данные
    • 496 Серебряная задача: дополнительные свойства UIWebView
  • 497 Глава 26. Классы UISplitViewController и NSRegularExpression
    • 498 Создание разделенного приложения Nerdfeed
    • 502 Обмен информацией между мастером и деталями
    • 509 Отображение контроллера мастер-представления в портретном режиме
    • 511 Универсализация приложения Nerdfeed
    • 512 NSRegularExpression
      • 515 Конструирование строки шаблона
    • 518 Бронзовая задача: поиск подфорума
    • 518 Серебряная задача: переключение мастер-кнопки
    • 518 Серебряная задача: обработка ответа
    • 518 Золотая задача: отображение потоков
  • 519 Глава 27. Блоки
    • 519 Блоки и синтаксис блоков
      • 520 Объявление переменных блока
      • 521 Определение блоков литералов
      • 523 Выполнение блоков
      • 523 Дополнительные заметки о блоках
    • 524 Основы использования блоков
    • 527 Захват переменных
    • 531 Типичное использование блоков
    • 532 Для любознательных: модификатор __block, сокращенный синтаксис и память
    • 535 Для любознательных: достоинства и недостатки параметров обратного вызова
  • 538 Глава 28. Шаблон проектирования Model-View-Controller-Store
    • 538 Зачем нужны хранилища
    • 541 Создание класса BNRFeedStore
    • 544 Использование хранилища
    • 547 Создание хранилища BNRFeedStore
      • 547 Инициализация подключения
      • 553 Другой запрос
    • 557 Сериализация JSON
    • 561 Еще об объектах хранилища
    • 563 Бронзовая задача: пользовательский интерфейс для счетчика песен
    • 563 Мегазолотая задача: другая веб-служба
    • 563 Для любознательных: данные JSON
  • 565 Глава 29. Дополнительные сведения о MVCS
    • 565 Кэширование RSS-подписки
    • 571 «Продвинутое» кэширование
      • 579 Протокол NSCopying
      • 581 Завершение работы над подпиской BNR
    • 583 Прочтенные и непрочтенные элементы
    • 589 Другие преимущества объектов хранилища
    • 590 Бронзовая задача: усечение кэша
    • 590 Серебряная задача: избранное
    • 590 Золотая задача: кэширование JSON
    • 590 Для любознательных: создание объекта хранилища
      • 590 Определение внешних источников данных
      • 591 Идентификация статуса синглетона
      • 592 Определение порядка доставки результатов
    • 592 Для любознательных: автоматическое кэширование и файл Cache.db
  • 594 Глава 30. iCloud
    • 594 Требования iCloud
    • 595 Контейнеры вездесущности
    • 597 Инициализация контейнера вездесущности
    • 600 Core Data и iCloud
    • 606 Для любознательных: резервные копии iCloud
  • 607 Глава 31. Послесловие
    • 607 Что дальше
    • 607 Не стесняйтесь обращаться к нам

Инструкция как скачать книгу Дж. Конвэй, А. Хиллегасс: Программирование под iOS. Для профессионалов в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
Программирование под iOS. Для профессионалов
Рейтинг книги:
3 голоса
2295

Поиск книг:




При поиске учитываются только слова, длина которых больше 3-х символов.

Статистика: