Objective-C. Программирование для Mac OS.X и iOS
Скотт Кнастер, Вакар Малик, Марк Далримпл
Начинайте создавать приложения на основе новейших технологий, включающих в себя устройства iPhone и iPad, а также компьютеры Мае, с помощью этой книги. В книге показано, как использовать библиотеки AppKit и UlKit для разработки приложений, предназначенных для операционной системы iOS, и/или интерфейсы для операционной системы OS X.
Ведущие эксперты по компьютерам Мае Скотт Кнастер и Вакар Малик предлагают полный курс по основам языка Objective-C с помощью новейшей среды Xcode, разработанной компанией Apple. Вы также ознакомитесь с инфраструктурой Cocoa, сопровождающей язык Objective-C. Освоив язык по этой книге, вы сможете работать в среде Cocoa и создавать полноценные проекты.
Издательство: Вильямс, 2013 г.
ISBN 978-5-8459-1826-0
Количество страниц: 304.
Содержание книги «Objective-C. Программирование для Mac OS.X и iOS»:
- 16 Предисловие
- 17 Об авторах
- 18 О техническом консультанте
- 19 Благодарности
- 20 Как работать с книгой
- 21 Глава 1. Привет!
- 21 Перед тем как начать
- 22 Будущее закладывается в прошлом
- 22 Что дальше
- 24 Предварительная подготовка
- 26 Резюме
- 27 Глава 2. Расширения языка C
- 27 Простейшая программа на Objective-C
- 27 Создание программы «Hello, Objective-C»
- 32 Анализ программы «Hello Objective-C»
- 33 Дурацкий #import
- 33 Введение в каркасы
- 34 NSLog() и @«строка»
- 35 Префикс NS: предотвращение коллизий имен
- 35 Класс NSString: где находится @
- 36 Логичен ли логический тип
- 38 Тип BOOL в действии
- 39 Первая функция
- 40 Вторая функция
- 41 Сравнение
- 42 Резюме
- 27 Простейшая программа на Objective-C
- 43 Глава 3. Введение в объектно-ориентированное программирование
- 44 Косвенность
- 45 Косвенность и переменные
- 47 Косвенность посредством имен файлов
- 53 Косвенность в объектно-ориентированном программировании
- 54 Процедурное программирование
- 54 Программа для вывода геометрических фигур
- 55 Рабочая часть программы
- 59 Реализация объектной ориентированности
- 65 Перерыв на терминологию
- 66 Объектно-ориентированное программирование в Objective-C
- 66 Раздел @interface
- 69 Раздел @implementation
- 72 Инстанцирование объектов
- 74 Расширение программы
- 76 Резюме
- 44 Косвенность
- 77 Глава 4. Наследование
- 77 Зачем нужно наследование
- 81 Синтаксис наследования
- 83 Терминология
- 84 Как работает наследование
- 84 Диспетчеризация методов
- 86 Переменные экземпляра
- 88 Замещение методов
- 89 Это просто супер
- 91 Резюме
- 93 Глава 5. Композиция
- 93 Что такое композиция
- 94 Модель автомобиля
- 94 Настройка для функции NSLog()
- 97 Методы доступа
- 99 Установка двигателя
- 100 Настройка колес
- 101 Обработка изменений в автомобиле
- 102 Расширение составных частей
- 103 Композиция или наследование?
- 104 Резюме
- 93 Что такое композиция
- 105 Глава 6. Организация исходных файлов
- 105 Разделение интерфейса и реализации
- 106 Создание новых файлов в среде Xcode
- 109 Как разбить автомобиль
- 112 Зависимости между файлами
- 113 Минимальная рекомпиляция
- 114 Поехали!
- 116 Импорт и наследование
- 118 Резюме
- 105 Разделение интерфейса и реализации
- 119 Глава 7. Дополнительные сведения о программе Xcode
- 120 Единое окно управления
- 120 Изменение имени компании
- 122 Советы по использованию редактора
- 123 Создание кода с помощью программы Xcode
- 123 Отступы
- 124 Дополнение кода
- 127 Подсветка скобок
- 127 Массовое редактирование
- 132 Навигация по коду
- 132 Emacs — не Mac
- 133 Сезам, откройся!
- 133 Сфокусируйтесь
- 136 Навигационная панель
- 137 Получение информации
- 137 Окно Quick Help
- 139 Документирование
- 140 Отладка
- 141 Проще некуда
- 141 Отладчик среды Xcode
- 141 Настройка
- 142 Отладка
- 145 Просмотр данных
- 147 Шпаргалка
- 148 Резюме
- 149 Глава 8. Краткий обзор каркаса Foundation Kit
- 149 Надежная основа
- 150 Использование шаблонного кода проекта
- 150 Некоторые полезные типы
- 151 Диапазон
- 151 Геометрические типы
- 152 Строки
- 153 Создание строки
- 153 Методы класса
- 154 Размер
- 154 Сравнение строк
- 156 Чувствительность к представлению данных
- 156 Кто внутри?
- 157 Изменчивость
- 159 Набор коллекций
- 160 Класс NSARRAY
- 164 Изменяемые массивы
- 165 Перечисления
- 166 Быстрое перечисление
- 167 Класс NSDictionary
- 170 Используйте, но не расширяйте
- 170 Семейства значений
- 170 Класс NSNumber
- 171 Класс NSValue
- 172 Класс NSNull
- 173 Пример: поиск файлов
- 176 Еще быстрее
- 177 Резюме
- 179 Глава 9. Управление памятью
- 180 Жизненный цикл объекта
- 180 Подсчет ссылок
- 182 Владение объектом
- 183 Владение и освобождение в методах доступа
- 185 Автоматическое освобождение
- 185 Все в пул!
- 186 О деструкции
- 187 Пулы в действии
- 189 Правила управления памятью Cocoa
- 190 Временные объекты
- 191 Удержание объектов
- 194 Чисто там, где убирают
- 195 Автоматический подсчет ссылок
- 208 Исключительность
- 209 Ключевые слова для работы с исключениями
- 210 Перехват разных типов исключений
- 210 Генерирование исключений
- 212 Исключения тоже требуют управления памятью
- 212 Исключения и пулы автоматического освобождения
- 213 Резюме
- 180 Жизненный цикл объекта
- 215 Глава 10. Инициализация объекта
- 215 Выделение объектов
- 216 Инициализация объектов
- 216 Создание методов инициализации
- 218 Что делать при инициализации
- 219 Инициализаторы для удобства
- 220 Практический пример
- 221 Инициализация колес
- 223 Обновление функции main()
- 225 Автомойка
- 228 Использование механизмов сбора мусора и ARC
- 229 Инициализаторы для удобства
- 229 Стандартный инициализатор
- 230 Проблема наследования
- 232 Исправление инициализаторов класса Tire
- 233 Добавление инициализатора класса AllWeatherRadial
- 234 Правила инициализаторов
- 234 Резюме
- 235 Глава 11. Свойства
- 235 Упрощение кода при помощи свойств
- 236 Упрощение интерфейса
- 237 Упрощение реализации
- 241 …и точка!
- 242 Возражения против свойств
- 245 Выбор разных имен
- 247 Защита от записи
- 248 Лучше я сам
- 249 Мне не нравятся имена методов
- 249 Увы, свойства — не панацея
- 249 Резюме
- 235 Упрощение кода при помощи свойств
- 251 Глава 12. Категории
- 251 Создание категории
- 252 Процедура создания категории
- 253 Раздел @interface
- 254 Раздел @implementation
- 256 Плохие категории
- 257 Хорошие категории
- 257 Расширение класса
- 258 Разделение реализации по категориям
- 259 Использование категорий в нашем проекте
- 262 Опережающие ссылки и категории
- 263 Спасительные категории
- 264 Неформальные протоколы и категории делегирования
- 264 Проект ITunesFinder
- 268 Делегаты и категории
- 269 Ответы на селекторы
- 270 Другие применения селекторов
- 270 Резюме
- 251 Создание категории
- 271 Глава 13. Протоколы
- 271 Формальные протоколы
- 272 Объявление протоколов
- 273 Принятие протокола
- 273 Реализация протокола
- 273 Копирование
- 274 Копирование двигателей
- 276 Копирование колес
- 278 Копирование автомобиля
- 280 Протоколы и типы данных
- 281 Дополнения Objective-C 2.0
- 282 Делегирование
- 284 Резюме
- 271 Формальные протоколы
- 285 Глава 14. Блоки и параллельность
- 285 Никогда не поздно поиграть с кубиками
- 290 Объекты языка Objective-C
- 291 Параллельность
- 296 Управление памятью для очередей
- 299 Операции над очередями
- 301 Резюме
- 285 Никогда не поздно поиграть с кубиками
- 303 Глава 15. Введение в каркас UIKit
- 309 Контроллеры представления
- 309 Добавление элементов в nib-файлы
- 326 Резюме
- 309 Контроллеры представления
- 327 Глава 16. Введение в каркас AppKit
- 328 Создание проекта
- 330 Создание интерфейса делегата
- 331 Interface Builder
- 332 Создание макета пользовательского интерфейса
- 336 Установка соединений
- 336 Подключение выходов
- 338 Подключение действий
- 339 Реализация класса MSCAPPDelegate
- 342 Резюме
- 343 Глава 17. Работа с файлами
- 343 Списки свойств
- 344 Класс NSDate
- 344 Класс NSData
- 345 Запись и чтение списков свойств
- 347 Модификация объектов
- 348 Кодирование объектов
- 354 Резюме
- 343 Списки свойств
- 355 Глава 18. Кодирование «ключ–значение»
- 355 Исходный проект
- 357 Введение в KVC
- 359 В путь
- 360 Агрегаты
- 361 Пит-стоп
- 364 Операторы
- 367 Пакетные изменения
- 368 Значение nil
- 369 Обработка необработанного
- 370 Резюме
- 371 Глава 19. Использование утилиты Static Analyzer
- 371 Свойства статического анализатора
- 372 Приступаем к анализу
- 375 Помощь анализатору
- 378 Дальнейший анализ
- 380 Резюме
- 371 Свойства статического анализатора
- 381 Глава 20. Класс NSPredicate
- 382 Создание предиката
- 383 Вычисление предиката
- 384 Фильтры
- 385 Спецификаторы формата
- 387 Операторы
- 387 Операторы сравнения и логические операторы
- 388 Операции над массивами
- 389 Ключевое слово SELF
- 391 Операции со строками
- 392 Ключевое слово LIKE
- 392 Это все
- 382 Создание предиката
- 393 Приложение А. Переход на язык Objective-C с других языков программирования
- 394 Переход с языка C
- 395 Переход с языка C++
- 396 Таблица виртуальных функций C++ и динамическая диспетчеризация Objective-C
- 399 Язык Objective-C++
- 400 Исключения
- 400 Переход с языка Java
- 402 Переход с языка BASIC
- 403 Языки сценариев
- 404 Резюме
- 405 Предметный указатель
Инструкция как скачать книгу Скотт Кнастер, Вакар Малик, Марк Далримпл: Objective-C. Программирование для Mac OS.X и iOS в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.