Сила Objective-C 2.0. Эффективное программирование для iOS и OS X
Мэтт Гэлловей
Эта книга поможет вам освоить всю мощь языка программирования Objective-C 2.0 и научит применять его максимально эффективно при разработке мобильных приложений для iOS и OS X. Автор описывает работу языка на понятных практических примерах, которые помогут как начинающим программистам, так и опытным разработчикам повысить уровень понимания Objective-C и существенно обогатить опыт его применения в своей работе.
В книге содержится 52 проверенных подхода для написания «чистого» и работающего кода на Objective-C, которые можно легко использовать на практике. Автор рассматривает такие темы, как проектирование интерфейсов и API, управление памятью, блоки и GCD, системные фреймворки и другие аспекты программирования на Objective-C, понимание которых поможет в эффективной разработке приложений для iOS или OS X.
Издательство: Питер, 2014 г.
ISBN 978-5-496-00963-8
Количество страниц: 304.
Содержание книги «Сила Objective-C 2.0. Эффективное программирование для iOS и OS X»:
- 8 Предисловие
- 8 О книге
- 9 Для кого написана эта книга
- 10 Какие темы рассматриваются в книге
- 12 Благодарности
- 14 Об авторе
- 15 Глава 1. Осваиваем Objective-C
- 15 1. Познакомьтесь с истоками Objective-C
- 19 2. Минимизируйте импортирование в заголовках
- 23 3. Используйте литеральный синтаксис вместо эквивалентных методов
- 29 4. Используйте типизованные константы вместо препроцессорных директив #define
- 34 5. Используйте перечисления для состояний, флагов и кодов ошибок
- 42 Глава 2. Объекты, сообщения и исполнительная среда
- 42 6. Разберитесь, что такое свойства
- 51 7. Используйте прямое обращение к переменным экземпляров при внутренних операциях
- 54 8. Разберитесь, что такое равенство объектов
- 61 9. Используйте паттерн «Группа классов» и сокрытие подробностей реализации
- 66 10. Используйте ассоциированные объекты для присоединения пользовательских данных к существующим классам
- 70 11. Разберитесь с objc_msgSend
- 74 12. Разберитесь с перенаправлением сообщений
- 83 13. Используйте замены для отладки непрозрачных методов
- 87 14. Разберитесь с объектами классов
- 93 Глава 3. Проектирование интерфейса и API
- 93 15. Используйте префиксы для предотвращения конфликтов имен
- 98 16. Используйте основной инициализатор
- 105 17. Реализуйте метод description
- 111 18. Выбирайте неизменяемые объекты
- 117 19. Используйте четкие и последовательные схемы формирования имен
- 125 20. Разберитесь с префиксами в именах закрытых методов
- 128 21. Разберитесь с моделью ошибок Objective-C
- 133 22. Разберитесь с протоколом NSCopying
- 139 Глава 4. Протоколы и категории
- 139 23. Используйте протоколы делегатов и источников данных для взаимодействия между объектами
- 148 24. Используйте категории для разбиения классов
- 152 25. Всегда используйте префиксы имен категорий в классах, предназначенных для внешнего использования
- 155 26. Избегайте использования свойств в категориях
- 159 27. Используйте категории продолжения классов для сокрытия подробностей реализации
- 166 28. Используйте протоколы для создания анонимных объектов
- 171 Глава 5. Управление памятью
- 171 29. Разберитесь с механизмом подсчета ссылок
- 179 30. Используйте ARC для упрощения подсчета ссылок
- 189 31. Освобождайте ссылки и зачищайте состояние наблюдения только в dealloc
- 193 32. Защищайте управление памятью с помощью безопасного кода
- 197 33. Используйте слабые ссылки, чтобы избежать удерживающих циклов
- 201 34. Используйте пулы автоматического освобождения, чтобы уменьшить затраты памяти
- 206 35. Используйте объекты-зомби для решения проблем, связанных с управлением памятью
- 213 36. Остерегайтесь метода retainCount
- 217 Глава 6. Блоки и Grand Central Dispatch
- 218 37. Разберитесь с блоками
- 225 38. Создайте typedef для часто используемых типов блоков
- 228 39. Используйте блоки в обработчиках, чтобы уменьшить логическое разбиение кода
- 235 40. Избегайте циклов удержания между блоками и объектами, которым они принадлежат
- 240 41. Используйте очереди диспетчеризации для синхронизации
- 246 42. Используйте GCD вместо метода performSelector и его семейства
- 250 43. Научитесь выбирать: GCD или очереди операций
- 254 44. Используйте группы диспетчеризации для платформенного масштабирования
- 259 45. Используйте dispatch_once для потоково-безопасного одноразового выполнения кода
- 261 46. Остерегайтесь функции dispatch_get_current_queue
- 268 Глава 7. Системные фреймворки
- 268 47. Познакомьтесь поближе с системными фреймворками
- 272 48. Используйте перебор с выполнением блоков вместо циклов for
- 279 49. Используйте упрощенное преобразование для коллекций с нестандартной семантикой управления памятью
- 285 50. Используйте NSCache вместо NSDictionary для кэша
- 290 51. Придерживайтесь компактных реализаций initialize и load
- 296 52. Запомните, что NSTimer удерживает приемник
Инструкция как скачать книгу Мэтт Гэлловей: Сила Objective-C 2.0. Эффективное программирование для iOS и OS X в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.