Глава 1. Основные принципы Objective-C 19
Понятие объектной модели 20
О двух системах типов 22
Родство C и Objective-C 23
Язык и библиотека 24
История развития Objective-C 26
Межплатформенная поддержка 30
Компилирование программ на Objective-C 32
Глава 2. Азбука Objective-C 35
Объявление типов Objective-C 36
Отправка сообщений 39
Представление о селекторах 43
Объявление классов 45
Применение протоколов 50
Добавление методов в класс 51
Применение неформальных протоколов 54
Синтезирование методов с помощью объявляемых свойств 55
Представление об аргументах self, _ cmd и super 61
Представление об указателе isa 64
Инициализация классов 67
Чтение кодировок типов 69
Применение блоков 71
Глава 3. Управление памятью 75
Сохранение и освобождение объектов из памяти 76
Присваивание переменным экземпляра 77
Автоматический подсчет ссылок 79
Возврат объектов по аргументам-указателям 81
Исключение циклов сохранения 83
Переход к механизму ARC 85
Автоматически освобождаемые пулы 88
Применение автоматически освобождаемых конструкторов 90
Автоматическое освобождение объектов в методах доступа 91
Поддержка автоматической “сборки мусора” 92
Взаимодействие с кодом C 95
Представление о разрушении объектов 97
Применение слабых ссылок 99
Выделение просмотренной памяти 102
Глава 4. Шаблоны, распространенные в Objective-C 105
Поддержка шаблона создания объектов в два этапа 105
Копирование объектов 107
Архивирование объектов 109
Создание выделенных инициализаторов 112
Реализация шаблона-одиночки 114
Делегирование 117
Предоставление фасадов 118
Создание кластеров классов 120
Применение циклов исполнения 124
Глава 5. Числа 127
Сохранение чисел в коллекциях 129
Выполнение десятичных арифметических операций 132
Преобразование символьных строк в числа 135
Чтение чисел из символьных строк 137
Глава 6. Манипулирование символьными строками 141
Создание строковых констант 142
Сравнение символьных строк 143
Посимвольная обработка строк 146
Преобразование кодировок символьных строк 149
Обрезка символьных строк 151
Разделение символьных строк 153
Копирование символьных строк 154
Построение символьных строк по шаблонам 156
Сопоставление с шаблоном в символьных строках 159
Сохранение форматированного текста 161
Глава 7. Работа с коллекциями 163
Применение массивов 164
Манипулирование индексами 166
Сохранение неупорядоченных групп объектов 168
Создание словаря 170
Циклическое обращение к коллекции 171
Поиск объекта в коллекции 175
Подклассификация коллекций 177
Сохранение объектов Objective-C в коллекциях C 180
Глава 8. Даты и моменты времени 183
Обнаружение текущей даты 184
Преобразование дат для отображения 185
Расчет истекшего времени 188
Извлечение дат из символьных строк 189
Получение событий от таймера 190
Глава 9. Работа со списками свойств 193
Сохранение коллекций в списках свойств 194
Чтение данных из списков свойств 196
Преобразование форматов списков свойств 199
Применение формата JSON 200
Сохранение пользовательских настроек
по умолчанию 202
Сохранение произвольных объектов в пользовательских настройках по умолчанию 206
Глава 10. Взаимодействие с окружением 209
Получение переменных окружения 209
Извлечение аргументов из командной строки 211
Доступ к региональным параметрам пользователя 213
Поддержка внезапного завершения процесса 214
Глава 11. Доступ к значениям по ключам 219
Доступ к значениям по ключу 220
Обеспечение совместимости с механизмом KVC 221
Представление о путях к ключам 224
Наблюдение за ключами 226
Обеспечение совместимости с механизмом KVO 228
Глава 12. Обработка ошибок 231
Отличия в обработке исключений во время выполнения 232
Генерирование и перехват исключений 235
Применение объектов исключений 237
Применение единой модели исключений 239
Управление памятью при обработке исключений 240
Передача делегатов ошибок 243
Возврат значений ошибок 244
Применение класса NSError 245
Глава 13. Доступ к файлам и каталогам 247
Чтение файла 248
Перемещение и копирование файлов 250
Получение атрибутов файлов 252
Манипулирование путями к файлам 253
Выяснение факта существования файла или каталога 254
Работа с пакетами 256
Поиск файлов в системе 259
Глава 14. Потоки 263
Создание потоков 263
Управление приоритетностью потоков 265
Синхронизация потоков 267
Сохранение данных, характерных для потоков 269
Ожидание по условию 272
Глава 15. Блоки и Grand Central Dispatch 277
Привязка переменных к блокам 278
Управление памятью при использовании блоков 282
Выполнение действий в фоновом режиме 285
Организация специальных очередей работ 287
Глава 16. Уведомления 289
Запрашивание уведомлений 290
Отправка уведомлений 291
Постановка уведомлений в очередь 292
Обмен уведомлениями между приложениями 294
Глава 17. Доступ к сети 299
Заключение сокетов C в оболочку 299
Установление связи с серверами 302
Общий доступ к объектам по сети 304
Поиск одноранговых узлов в сети 306
Загрузка данных по веб-адресу 309
Глава 18. Отладка программ на Objective-C 313
Инспектирование объектов 313
Выявление ошибок управления памятью 315
Наблюдение за исключениями 318
Утверждение исключений 320
Вывод отладочных сообщений 322
Глава 19. Динамическая библиотека Objective-C 325
Отправка сообщений по имени 326
Поиск классов по имени 327
Проверка реагирования объекта на сообщение 329
Пересылка сообщений 330
Поиск классов 332
Инспектирование классов 334
Создание новых классов 336
Добавление переменных экземпляра 338
Предметный указатель 341
Добавить комментарий