iOS. Приемы программирования

iOS. Приемы программирования
Автор книги: id книги: 553228 Серия: Бестселлеры O’Reilly (Питер)     Оценка: 0.0     Голосов: 0     Отзывы, комментарии: 1 1101 руб.     (11,81$) Читать книгу Купить и читать книгу Купить бумажную книгу Электронная книга Жанр: Программирование Правообладатель и/или издательство: "Издательство "Питер" Дата публикации, год издания: 2014 Дата добавления в каталог КнигаЛит: ISBN: 978-5-496-01016-0 Возрастное ограничение: 0+ Оглавление Отрывок из книги

Реклама. ООО «ЛитРес», ИНН: 7719571260.

Описание книги

Книга, которую вы держите в руках, представляет собой новый, полностью переписанный сборник приемов программирования по работе с iOS. Он поможет вам справиться с наболевшими проблемами, с которыми приходится сталкиваться при разработке приложений для iPhone, iPad и iPod Touch. Вы быстро освоите всю информацию, необходимую для начала работы с iOS 7 SDK, в частности познакомитесь с решениями для добавления в ваши приложения реалистичной физики или движений – в этом вам помогут API UIKit Dynamics. Вы изучите новые многочисленные способы хранения и защиты данных, отправки и получения уведомлений, улучшения и анимации графики, управления файлами и каталогами, а также рассмотрите многие другие темы. При описании каждого приема программирования приводятся образцы кода, которые вы можете смело использовать.

Оглавление

Вандад Нахавандипур. iOS. Приемы программирования

Предисловие

Для кого предназначена книга

Как построено издание

Дополнительные ресурсы

Условные сокращения, используемые в данной книге

Работа с примерами кода

Нам интересны ваши отзывы

Благодарности

От издательства

Глава 1. Реализация контроллеров и видов

1.0. Введение

Создание и запуск вашего первого приложения для iOS

Определение переменных и понятие о них

Как создавать классы и правильно пользоваться ими

Добавление нового функционала к классам с помощью методов

Соблюдение требований, предъявляемых другими классами, с помощью протоколов

Хранение элементов в коллекциях и получение элементов из коллекций

Обеспечение поддержки подписывания объектов в ваших классах

1.1. Отображение предупреждений с помощью UIAlertView

Постановка задачи

Решение

Обсуждение

См. также

1.2. Создание и использование переключателей с помощью UISwitch

Постановка задачи

Решение

Обсуждение

1.3. Оформление UISwitch

Постановка задачи

Решение

Обсуждение

См. также

1.4. Выбор значений с помощью UIPickerView

Постановка задачи

Решение

Обсуждение

См. также

1.5. Выбор даты и времени с помощью UIDatePicker

Постановка задачи

Решение

Обсуждение

1.6. Реализация инструмента для выбора временных рамок с помощью UISlider

Постановка задачи

Решение

Обсуждение

1.7. Оформление UISlider

Постановка задачи

Решение

Обсуждение

См. также

1.8. Группирование компактных параметров с помощью UISegmentedControl

Постановка задачи

Решение

Обсуждение

1.9. Представление видов и управление ими с помощью UIViewController

Постановка задачи

Решение

Обсуждение

См. также

1.10. Предоставление возможностей совместного использования информации с применением UIActivityViewController

Постановка задачи

Решение

Обсуждение

См. также

1.11. Предоставление специальных возможностей совместного использования данных с применением UIActivityViewController

Постановка задачи

Решение

Обсуждение

См. также

1.12. Внедрение навигации с помощью UINavigationController

Постановка задачи

Решение

Обсуждение

См. также

1.13. Управление массивом контроллеров видов, относящихся к навигационному контроллеру

Постановка задачи

Решение

Обсуждение

1.14. Демонстрация изображения на навигационной панели

Постановка задачи

Решение

Обсуждение

1.15. Добавление кнопок на навигационные панели с помощью UIBsrButtonItem

Постановка задачи

Решение

Обсуждение

См. также

1.16. Представление контроллеров, управляющих несколькими видами, с помощью UITabBarController

Постановка задачи

Решение

Обсуждение

1.17. Отображение статического текста с помощью UILabel

Постановка задачи

Решение

Обсуждение

1.18. Оформление UILabel

Постановка задачи

Решение

Обсуждение

См. также

1.19. Прием пользовательского текстового ввода с помощью UITextField

Постановка задачи

Решение

Обсуждение

См. также

1.20. Отображение длинных текстовых строк с помощью UITextView

Постановка задачи

Решение

Обсуждение

1.21. Добавление кнопок в пользовательский интерфейс с помощью UIButton

Постановка задачи

Решение

Обсуждение

1.22. Показ изображений с помощью UIImageView

Постановка задачи

Решение

Обсуждение

1.23. Создание прокручиваемого контента с помощью UIScrollView

Постановка задачи

Решение

Обсуждение

1.24. Загрузка веб-страниц с помощью UIWebView

Постановка задачи

Решение

Обсуждение

1.25. Отображение протекания процессов с помощью UIProgressView

Постановка задачи

Решение

Обсуждение

1.26. Создание и отображение текстов с оформлением

Постановка задачи

Решение

Обсуждение

См. также

1.27. Представление видов «Основной – детали» с помощью UISplitViewController

Постановка задачи

Решение

Обсуждение

1.28. Организация разбивки на страницы с помощью UIPageViewController

Постановка задачи

Решение

Обсуждение

1.29. Отображение вспомогательных экранов с помощью UIPopoverController

Постановка задачи

Решение

Обсуждение

См. также

Глава 2. Создание динамических и интерактивных пользовательских интерфейсов

2.0. Введение

2.1. Добавление тяготения к компонентам пользовательского интерфейса

Постановка задачи

Решение

Обсуждение

См. также

2.2. Обнаружение столкновений между компонентами пользовательского интерфейса и реагирование на них

Постановка задачи

Решение

Обсуждение

См. также

2.3. Анимирование компонентов пользовательского интерфейса с помощью толчков

Постановка задачи

Решение

Обсуждение

См. также

2.4. Прикрепление нескольких динамических элементов друг к другу

Постановка задачи

Решение

Обсуждение

См. также

2.5. Добавление эффекта динамического зацепления к компонентам пользовательского интерфейса

Постановка задачи

Решение

Обсуждение

См. также

2.6. Присваивание характеристик динамическим эффектам

Постановка задачи

Решение

Обсуждение

См. также

Глава3. Автоматическая компоновка и язык визуального форматирования

3.0. Введение

3.1. Размещение компонентов пользовательского интерфейса в центре экрана

Постановка задачи

Решение

Обсуждение

См. также

3.2. Определение горизонтальных и вертикальных ограничений на языке визуального форматирования

Постановка задачи

Решение

Обсуждение

См. также

3.3. Применение ограничений при работе с перекрестными видами

Постановка задачи

Решение

Обсуждение

См. также

3.4. Конфигурирование ограничений автоматической компоновки в конструкторе интерфейсов

Постановка задачи

Решение

Обсуждение

См. также

Глава 4. Создание и использование табличных видов

4.0. Введение

4.1. Наполнение табличного вида данными

Постановка задачи

Решение

4.2. Использование дополнительных элементов в ячейке табличного вида

Постановка задачи

Решение

Обсуждение

4.3. Создание специальных дополнительных элементов в ячейке табличного вида

Постановка задачи

Решение

Обсуждение

4.4. Обеспечение удаления смахиванием в ячейках табличных видов

Постановка задачи

Решение

Обсуждение

4.5. Создание верхних и нижних колонтитулов в табличных видах

Постановка задачи

Решение

Обсуждение

4.6. Отображение контекстных меню в ячейках табличных видов

Постановка задачи

Решение

Обсуждение

4.7. Перемещение ячеек и разделов в табличных видах

Постановка задачи

Решение

Обсуждение

4.8. Удаление ячеек и разделов в табличных видах

Постановка задачи

Решение

Обсуждение

См. также

4.9. Использование UITableViewController для удобства при создании табличных видов

Постановка задачи

Решение

Обсуждение

См. также

4.10. Отображение элемента управления, предназначенного для обновления информации в табличных видах

Постановка задачи

Решение

Обсуждение

См. также

Глава 5. Выстраивание сложных макетов с помощью сборных видов

5.0. Введение

5.1. Создание сборных видов

Постановка задачи

Решение

Обсуждение

См. также

5.2. Присваивание источника данных сборному виду

Постановка задачи

Решение

Обсуждение

См. также

5.3. Обеспечение последовательной компоновки в сборном виде

Постановка задачи

Решение

Обсуждение

См. также

5.4. Наполнение сборного вида простейшим содержимым

Постановка задачи

Решение

Обсуждение

См. также

5.5. Заполнение сборных видов специальными ячейками с помощью XIB-файлов

Постановка задачи

Решение

Обсуждение

См. также

5.6. Обработка событий в сборных видах

Постановка задачи

Решение

Обсуждение

См. также

5.7. Создание верхних и нижних колонтитулов в макете с последовательной компоновкой

Постановка задачи

Решение

Обсуждение

См. также

5.8. Добавление собственных вариантов взаимодействий к сборным видам

Постановка задачи

Решение

Обсуждение

См. также

5.9. Представление контекстных меню в ячейках сборных видов

Постановка задачи

Решение

Обсуждение

См. также

Глава 6. Раскадровки

6.0. Введение

6.1. Добавление в раскадровку навигационного контроллера

Постановка задачи

Решение

Обсуждение

См. также

6.2. Передача данных с одного экрана на другой

Постановка задачи

Решение

Обсуждение

См. также

6.3. Добавление в раскадровку контроллера с панелью вкладок

Постановка задачи

Решение

См. также

6.4. Внедрение специальных переходов между сегвеями в раскадровке

Постановка задачи

Решение

Обсуждение

См. также

6.5. Размещение изображений и других компонентов пользовательского интерфейса в раскадровках

Постановка задачи

Решение

Обсуждение

См. также

Глава 7. Параллелизм

7.0. Введение

7.1. Создание блоковых объектов

Постановка задачи

Решение

Обсуждение

7.2. Доступ к переменным в блоковых объектах

Постановка задачи

Решение

Обсуждение

7.3. Вызов блоковых объектов

Постановка задачи

Решение

Обсуждение

См. также

7.4. Решение с помощью GCD задач, связанных с пользовательским интерфейсом

Постановка задачи

Решение

Обсуждение

7.5. Синхронное решение с помощью GCD задач, не связанных с пользовательским интерфейсом

Постановка задачи

Решение

Обсуждение

См. также

7.6. Асинхронное решение с помощью GCD задач, не связанных с пользовательским интерфейсом

Постановка задачи

Решение

Обсуждение

См. также

7.7. Выполнение задач после задержки с помощью GCD

Постановка задачи

Решение

Обсуждение

См. также

7.8. Однократное выполнение задач с помощью GCD

Постановка задачи

Решение

Обсуждение

7.9. Объединение задач в группы с помощью GCD

Постановка задачи

Решение

Обсуждение

См. также

7.10. Создание собственных диспетчерских очередей с помощью GCD

Постановка задачи

Решение

Обсуждение

7.11. Синхронное выполнение задач с помощью операций

Постановка задачи

Решение

Обсуждение

См. также

7.12. Асинхронное выполнение задач с помощью операций

Постановка задачи

Решение

Обсуждение

См. также

7.13. Создание зависимости между операциями

Постановка задачи

Решение

Обсуждение

См. также

7.14. Создание таймеров

Постановка задачи

Решение

Обсуждение

7.15. Параллельное программирование с использованием потоков

Постановка задачи

Решение

Обсуждение

7.16. Активизация фоновых методов

Постановка задачи

Решение

Обсуждение

7.17. Выход из потоков и таймеров

Постановка задачи

Решение

Обсуждение

Глава 8. Безопасность

8.0. Введение

8.1. Обеспечение безопасности и защиты в приложениях

Постановка задачи

Решение

Обсуждение

См. также

8.2. Хранение значений в связке ключей

Постановка задачи

Решение

Обсуждение

См. также

8.3. Нахождение значений в связке ключей

Постановка задачи

Решение

Обсуждение

См. также

8.4. Обновление значений в связке ключей

Постановка задачи

Решение

Обсуждение

См. также

8.5. Удаление значений из связки ключей

Постановка задачи

Решение

Обсуждение

См. также

8.6. Совместное использование данных из связки ключей в нескольких приложениях

Постановка задачи

Решение

Обсуждение

См. также

8.7. Запись и считывание информации связки ключей из iCloud

Постановка задачи

Решение

Обсуждение

См. также

8.8. Безопасное хранение файлов в песочнице приложения

Постановка задачи

Решение

Обсуждение

См. также

8.9. Защита пользовательского интерфейса

Постановка задачи

Решение

Обсуждение

См. также

Глава 9. Core Location и карты

9.0. Введение

9.1. Создание картографического вида

Постановка задачи

Решение

Обсуждение

9.2. Обработка событий картографического вида

Постановка задачи

Решение

Обсуждение

См. также

9.3. Отметка местоположения устройства

Постановка задачи

Решение

Обсуждение

9.4. Отображение маркеров в картографическом виде

Постановка задачи

Решение

Обсуждение

9.5. Отображение разноцветных маркеров в картографическом виде

Постановка задачи

Решение

Обсуждение

9.6. Отображение пользовательских маркеров в картографическом виде

Постановка задачи

Решение

Обсуждение

См. также

9.7. Преобразование обычных адресов в данные широты и долготы

Постановка задачи

Решение

Обсуждение

См. также

9.8. Преобразование данных широты и долготы в обычные адреса

Постановка задачи

Решение

Обсуждение

См. также

9.9. Поиск в картографическом виде

Постановка задачи

Решение

См. также

9.10. Отображение направлений на карте

Постановка задачи

Решение

Обсуждение

См. также

Глава 10. Реализация распознавания жестов

10.0. Введение

10.1. Обнаружение жестов смахивания

Постановка задачи

Решение

Обсуждение

10.2. Обнаружение жестов вращения

Постановка задачи

Решение

Обсуждение

См. также

10.3. Обнаружение жестов панорамирования и перетаскивания

Постановка задачи

Решение

Обсуждение

10.4. Обнаружение жестов долгого нажатия

Постановка задачи

Решение

Обсуждение

10.5. Обнаружение жестов-нажатий

Постановка задачи

Решение

Обсуждение

10.6. Обнаружение щипка

Постановка задачи

Решение

Обсуждение

Глава 11. Сетевые функции, JSON, XML и Twitter

11.0. Введение

11.1. Асинхронная загрузка с применением NSURLConnection

Постановка задачи

Решение

Обсуждение

11.2. Обработка задержек при асинхронных соединениях

Решение

Обсуждение

11.3. Синхронная загрузка с применением NSURLConnection

Постановка задачи

Решение

Обсуждение

11.4. Изменение URL-запроса с применением NSMutableURLRequest

Постановка задачи

Решение

Обсуждение

11.5. Отправка запросов HTTP GET с применением NSURLConnection

Постановка задачи

Решение

Обсуждение

11.6. Отправка запросов HTTP POST с применением NSURLConnection

Постановка задачи

Решение

Обсуждение

11.7. Отправка запросов HTTP DELETE с применением NSURLConnection

Постановка задачи

Решение

Обсуждение

11.8. Отправка запросов HTTP PUT с применением NSURLConnection

Постановка задачи

Решение

Обсуждение

11.9. Сериализация массивов и словарей в JSON

Постановка задачи

Решение

Обсуждение

11.10. Десериализация нотации JSON в массивы и словари

Постановка задачи

Решение

Обсуждение

См. также

11.11. Включение в приложения функций социального обмена контентом

Постановка задачи

Решение

Обсуждение

См. также

11.12. Синтаксический разбор XML с помощью NSXMLParser

Постановка задачи

Решение

Обсуждение

Глава 12. Управление файлами и каталогами

12.0. Введение

12.1. Определение пути к самым полезным каталогам на диске

Постановка задачи

Решение

Обсуждение

См. также

12.2. Запись информации в файлы и считывание информации из файлов

Постановка задачи

Решение

Обсуждение

См. также

12.3. Создание каталогов на диске

Постановка задачи

Решение

Обсуждение

См. также

12.4. Перечисление файлов и каталогов

Постановка задачи

Решение

Обсуждение

См. также

12.5. Удаление файлов и каталогов

Постановка задачи

Решение

Обсуждение

См. также

12.6. Сохранение объектов в файлах

Постановка задачи

Решение

Обсуждение

См. также

Глава 13. Камера и библиотека фотографий

13.0. Введение

13.1. Обнаружение и испытание камеры

Постановка задачи

Решение

Обсуждение

13.2. Фотографирование с помощью камеры

Постановка задачи

Решение

Обсуждение

См. также

13.3. Запись видео с помощью камеры

Постановка задачи

Решение

Обсуждение

См. также

13.4. Сохранение снимков в библиотеке фотографий

Постановка задачи

Решение

Обсуждение

13.5. Сохранение видео в библиотеке фотографий

Постановка задачи

Решение

Обсуждение

13.6. Получение фото и видео из библиотеки фотографий

Постановка задачи

Решение

Обсуждение

См. также

13.7. Получение ресурсов из библиотеки ресурсов

Постановка задачи

Решение

Обсуждение

13.8. Редактирование видео на устройстве с операционной системой iOS

Постановка задачи

Решение

Обсуждение

См. также

Глава 14. Многозадачность

14.0. Введение

14.1. Обнаружение доступности многозадачности

Постановка задачи

Решение

Обсуждение

14.2. Выполнение долгосрочной задачи в фоновом режиме

Постановка задачи

Решение

Обсуждение

См. также

14.3. Добавление возможностей фонового обновления в приложения

Постановка задачи

Решение

Обсуждение

См. также

14.4. Воспроизведение аудио в фоновом режиме

Постановка задачи

Решение

Обсуждение

14.5. Обработка геолокационных изменений в фоновом режиме

Постановка задачи

Решение

Обсуждение

14.6. Сохранение и загрузка состояния приложений iOS, использующих многозадачность

Постановка задачи

Решение

Обсуждение

См. также

14.7. Управление сетевыми соединениями в фоновом режиме

Постановка задачи

Решение

Обсуждение

См. также

14.8. Отказ от многозадачности

Постановка задачи

Решение

Обсуждение

Глава 15. Уведомления

15.0. Введение

15.1. Отправка уведомлений

Постановка задачи

Решение

Обсуждение

См. также

15.2. Слушание уведомлений и реагирование на них

Постановка задачи

Решение

Обсуждение

15.3. Слушание уведомлений, поступающих с клавиатуры, и реагирование на них

Постановка задачи

Решение

Обсуждение

См. также

15.4. Планирование локальных уведомлений

Постановка задачи

Решение

Обсуждение

См. также

15.5. Слушание локальных уведомлений и реагирование на них

Постановка задачи

Решение

Обсуждение

См. также

15.6. Обработка локальных системных уведомлений

Постановка задачи

Решение

Обсуждение

Решение

Обсуждение

15.7. Настройка приложения для получения пуш-уведомлений

Постановка задачи

Решение

Обсуждение

См. также

15.8. Доставка пуш-уведомлений в приложение

Постановка задачи

Решение

Обсуждение

См. также

15.9. Реагирование на пуш-уведомления

Постановка задачи

Решение

Обсуждение

См. также

Глава 16. Фреймворк Core Data

16.0. Введение

16.1. Создание модели Core Data с помощью Xcode

Постановка задачи

Решение

Обсуждение

16.2. Генерирование файлов классов для сущностей Core Data

Постановка задачи

Решение

Обсуждение

16.3. Создание и сохранение данных с помощью Core Data

Постановка задачи

Решение

Обсуждение

16.4. Считывание данных из Core Data

Постановка задачи

Решение

Обсуждение

См. также

16.5. Удаление данных из Core Data

Постановка задачи

Решение

Обсуждение

16.6. Сортировка данных в Core Data

Постановка задачи

Решение

Обсуждение

См. также

16.7. Оптимизация доступа к данным в табличных видах

Постановка задачи

Решение

Обсуждение

16.8. Реализация отношений в Core Data

Постановка задачи

Решение

Обсуждение

16.9. Выборка данных в фоновом режиме

Постановка задачи

Решение

Обсуждение

См. также

16.10. Использование специальных типов данных в модели Core Data

Постановка задачи

Решение

Обсуждение

См. также

Глава 17. Графика и анимация

17.0. Введение

17.1. Перечисление и загрузка шрифтов

Постановка задачи

Решение

Обсуждение

См. также

17.2. Отрисовка текста

Постановка задачи

Решение

Обсуждение

17.3. Создание, установка и использование цветов

Постановка задачи

Решение

Обсуждение

См. также

17.4. Отрисовка изображений

Постановка задачи

Решение

Обсуждение

См. также

17.5. Создание адаптивных изображений

Постановка задачи

Решение

Обсуждение

См. также

17.6. Отрисовка линий

Постановка задачи

Решение

Обсуждение

См. также

17.7. Создание путей

Постановка задачи

Решение

Обсуждение

См. также

17.8. Отрисовка прямоугольников

Постановка задачи

Решение

Обсуждение

См. также

17.9. Добавление теней к фигурам

Постановка задачи

Решение

Обсуждение

17.10. Отрисовка градиентов

Постановка задачи

Решение

Обсуждение

См. также

17.11. Перемещение фигур, нарисованных в графических контекстах

Постановка задачи

Решение

Обсуждение

См. также

17.12. Масштабирование фигур, нарисованных в графических контекстах

Постановка задачи

Решение

Обсуждение

См. также

17.13. Вращение фигур, нарисованных в графических контекстах

Постановка задачи

Решение

Обсуждение

См. также

17.14. Анимирование и перемещение видов

Постановка задачи

Решение

Обсуждение

17.15. Анимирование и масштабирование видов

Постановка задачи

Решение

Обсуждение

См. также

17.16. Анимирование и вращение видов

Постановка задачи

Решение

См. также

17.17. Получение изображения со скриншотом вида

Постановка задачи

Решение

Обсуждение

См. также

Глава 18. Фреймворк Core Motion

18.0. Введение

18.1. Обнаружение доступности акселерометра

Постановка задачи

Решение

Обсуждение

См. также

18.2. Обнаружение доступности гироскопа

Постановка задачи

Решение

Обсуждение

См. также

18.3. Получение данных акселерометра

Постановка задачи

Решение

Обсуждение

См. также

18.4. Обнаружение встряхивания устройства с iOS

Постановка задачи

Решение

Обсуждение

18.5. Получение данных гироскопа

Постановка задачи

Решение

Обсуждение

См. также

Глава 19. Фреймворк Pass Kit

19.0. Введение

19.1. Создание сертификатов Pass Kit

Постановка задачи

Решение

Обсуждение

См. также

19.2. Создание файлов талонов

Постановка задачи

Решение

Обсуждение

См. также

19.3. Подготовка пиктограмм и изображений для талонов

Постановка задачи

Решение

Обсуждение

См. также

19.4. Подготовка талонов к цифровому подписыванию

Постановка задачи

Решение

Обсуждение

См. также

19.5. Цифровое подписывание талонов

Постановка задачи

Решение

Обсуждение

См. также

19.6. Распространение талонов по электронной почте

Постановка задачи

Решение

Обсуждение

См. также

19.7. Распространение талонов с помощью веб-сервисов

Постановка задачи

Решение

Обсуждение

См. также

19.8. Настройка возможности доступа к талонам в приложениях, работающих на устройстве с операционной системой iOS

Постановка задачи

Решение

Обсуждение

См. также

19.9. Взаимодействие с Passbook с помощью программирования

Постановка задачи

Решение

Обсуждение

См. также

Отрывок из книги

Это издание книги является не просто дополненной, а полностью переработанной версией предыдущего. В iOS 7 изменилось все: внешний вид и функциональная сторона операционной системы, способы использования наших устройств с iOS и, самое главное, принципы программирования для таких устройств. Действительно, без серьезной переработки всей книги было не обойтись. Я добавил в нее примерно 50 новых разделов-рецептов, затронув в них такие вопросы, как динамика UIKit, работа с видами-коллекциями, связкой ключей, удаленными уведомлениями и пр. Кроме того, я проработал все примеры кода и иллюстрации и обновил их с учетом iOS 7.

iOS 7 – огромный шаг вперед в развитии той операционной системы, которую любим все мы, пользователи и разработчики. Нам нравится как работать с нею, так и программировать для нее. Возможно, вы заметили, какое внимание в iOS 7 уделяется динамичности системы: ваш пользовательский интерфейс должен реагировать на различные движения и перемещения, которые могут происходить с устройством. Я имею в виду следующее: Apple стремится, чтобы разработчики по-настоящему внимательно относились к деталям создаваемых приложений, обогащали их реалистичной физикой и динамикой. Именно поэтому Apple дополнила iOS SDK новым элементом – UIKit Dynamics, а в этой книге данной концепции посвящена целая глава. iPhone становится все более высокотехнологичным устройством, оставаясь при этом довольно дорогим. Соответственно, запросы его пользователей также растут. И это понятно. Пользователь только что приобрел совершенно фантастический новейший iPhone или iPad и хочет найти на нем замечательные приложения, максимально полно и эффективно задействующие все возможности этих устройств.

.....

Теперь следует инициализировать навигационный контроллер, воспользовавшись его методом initWithRootViewController:, и передать корневой контроллер нашего вида как параметр этого метода. Далее мы зададим навигационный контроллер в в качестве корневого контроллера вида в нашем окне. Здесь главное – не запутаться. UINavigationController – это фактически подкласс UIViewController, а свойство rootViewController, относящееся к нашему окну, принимает любой объект типа UIViewController. Таким образом, если мы хотим сделать навигационный контроллер корневым контроллером нашего вида, мы просто должны задать его в качестве корневого контроллера:

initWithNibName: nil

.....

Добавление нового отзыва

Комментарий Поле, отмеченное звёздочкой  — обязательно к заполнению

Отзывы и комментарии читателей

  

Очень содержательно

Замечательный автор! Это не первая книга, которую мне пришлось прочесть у него! По стилю изложения – очень близко и понятно, как у Аарога Хиллеганса! Не знаю с чем это связано, но книги этого автора в России быстрей переводят на русский язык! Подойдет всем тем, кто хочет в кратчайшие сроки научиться разрабатывать программы в IDE XCode

Смотреть еще отзывы на сайте ЛитРеса
Подняться наверх