Чтение онлайн

на главную - закладки

Жанры

Программирование на Objective-C 2.0
Шрифт:

Фреймворки для поддержки приложений, обеспечивающие удобный пользо-вательский интерфейс, называются Cocoa. Это два фреймворка: Foundation framework, с которым вы уже знакомы, и фреймворк Application Kit (или AppKit). Второй фреймворк содержит классы, связанные с окнами, кнопками, списками и т.д. 20.1. Уровни фреймворков

Чтобы показать уровни, которые отделяют приложение от оборудования, час-то используют схемы. Одна из таких схем показана на рис. 20.1.

Ядро системы обеспечивает низкоуровневую связь с оборудованием в форме драйверов устройств. Оно управляет ресурсами системы, такими как программы-планировщики, управление памятью и электропитанием и выполнение базовых операций ввода-вывода.

Сервисы ядра (Core Services) обеспечивают поддержку на нижнем уровне (уровне ядра), в отличие от находящихся выше уровней. Здесь обеспечивается поддержка коллекций, сетевого обмена, управления файлами, папок, управле-ния памятью, отладки, потоков, времени и электропитания.

Уровень Сервисов приложений (Application Services) включает поддержку печати и воспроизведения графики, включая Quartz, OpenGL и Quicktime. Пользователь

Рис. 20.1. Иерархия уровней для приложения

Непосредственно под приложением находится уровень Cocoa. Как говорилось выше, Cocoa содержитфреймворки Foundation и AppKit. Foundation содержит классы для работы с коллекциями, строками, для управления памятью, файловой системой, архивацией и т.д. AppKit содержит классы для управления представлениями (view), окнами, документами, а также для обширного пользовательского интерфейса, который гак хорошо известен пользователям Mac OS X.

Из этого описания возникает ощущение дублирования функций некоторых уровней. Например, коллекции существуют на уровнях Cocoa и сервисов ядра. Однако первый уровень основывается на поддержке со стороны второго уровня. Кроме того, в некоторых случаях определенный уровень можно пропускать. Например, некоторые классы Foundation для работы с файловой системой целиком основываются на функциях уровня сервисов ядра в обход уровня сервисов приложений. Во многих случаях фреймворк Foundation определяет объектно-ориентированное отображение структур данных, определенных на уровне сервисов ядра (написанных преимущественно на процедурном языке С). 20.2. Cocoa Touch

Телефон iPhone содержит компьютер, который работает под управлением уп-рощенной версии Mac OS X. Некоторые возможности оборудования iPhone, например, акселерометр, уникальны для этого телефона и отсутствуют на дру-гих компьютерах под управлением Mac OS X, таких как МасВоок или iMac.

Примечание. На самом деле ноутбуки Мак содержат акселерометр для выпол-нения парковки жесткого диска в случае падения компьютера, но вы не имеете непосредственного доступа к этому акселерометру.

В отличие от фреймворков Cocoa, используемых при разработке приложе-ний для настольных компьютеров и ноутбуков с Mac OS X, фреймворки Cocoa Touch используются для приложений, которые будут работать на iPhone и iTouch.

Cocoa и Cocoa Touch содержат один общий фреймворк — Foundation. Одна-ко в Cocoa Touch вместо фреймворка AppKit используется фреймворк UI Kit, поддерживающий много таких же типов объектов (окна, представления, кнопки, текстовые поля и т.д.). Кроме того, Cocoa Touch содержит классы для работы с акселерометром, триангуляции местоположения с помощью GPS и сигналов WiFi, а также сенсорный интерфейс. Из нею исключены ненужные классы, например, поддержка клавиатуры.

На этом заканчивается краткий обзор Cocoa. В следующей главе описыва-ется, как писать приложение для iPhone с использованием имитатора, который является частью комплекта разработки профамм (SDK) iPhone.

Глава 21. Написание приложений iPhone

В этой главе мы будем разрабатывать два простых приложения iPhone. В пер-вом из них вы познакомитесь с понятиями делегат (delegate), outlet-переменные и действия (action) и с некоторыми концепциям и использования Interface Builder и создания соединений. Во втором приложении мы создадим калькуля-тор для дробей, объединив то, что вы узнали при разработке первого приложения, со всем материалом этой книги. 21.1. Комплект разработки программ (SDK) для iPhone

Чтобы писать приложения для iPhone, необходимо установить Xcode и комп-лект iPhone SDK. Этот SDK можно получить бесплатно с веб-сайта Apple. Для загрузки SDK нужно зарегистрироваться в качестве разработчика Apple (Apple Developer). Этот процесс тоже выполняется бесплатно. Чтобы получить соот-ветствующие ссылки, начните с адреса developer.apple.com и перейдите к нуж-ному пункту. Обязательно ознакомьтесь с этим сайтом. В приложении D содер-жится несколько прямых ссылок на определенные места этого сайта, которые могут заинтересовать вас.

Материал этой главы основывается на Xcode 3.1.1 и iPhone SDK для iPhone OS 2.1. Следующие версии этих продуктов совместимы с изложенным здесь материалом. 21.2. Ваше первое приложение iPhone

В этом приложении показано, как поместить черно-белое окно на экран iPhone, разрешить пользователю нажать на кнопку и вывести текст в ответ на нажатие этой кнопки.

Примечание. Второе приложение еще интересней! В нем используется опыт первого приложения для создания простого калькулятора, позволяющего вы-полнять операции с дробями. Мы можем использовать класс Fraction, с которым работали в предыдущих главах, а также модифицированный класс Calculator. На этот раз калькулятор сможет работать с дробями.

Приступим к первой программе. Мы опишем самые необходимые шаги, чтобы на их основе вы могли разрабатывать собственные программы Cocoa или iPhone.

На рис. 21.1 показано наше первое приложение для iPhone, которое будет выполняться па имитаторе iPhone (об этом чуть ниже).

Рис. 21.1. Первое приложение для iPhone

В этом приложении при нажатии кнопки «1» на дисплее будет появляться соответствующая цифра (см. рис. 21.2). Оно больше ничего не делает! Это про-стое приложение является основой дня второю приложения, которое представ-ляет калькулятор дш работы с дробями.

Мы создадим приложение с помощью Xcode и пользовательский интерфейс с помощью Interface Builder. Если вы работали с Xcode в предыдущих главах, то можете использовать его для ввода и тестирования своих программ. Как гово-рилось выше, Interface Builder позволяет разрабатывать пользовательский ин-терфейс, размещая элементы пользовательского интерфейса (U1) — таблицы, метки и кнопки — в окне, которое похоже на элемент iPhone. Работа с Interface Builder, как с любым серьезным средством разработки, требует определенного опыта.

Поделиться:
Популярные книги

Тринадцатый III

NikL
3. Видящий смерть
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Тринадцатый III

По прозвищу Святой. Книга первая

Евтушенко Алексей Анатольевич
1. Святой
Фантастика:
попаданцы
альтернативная история
6.40
рейтинг книги
По прозвищу Святой. Книга первая

Искатель 4

Шиленко Сергей
4. Валинор
Фантастика:
рпг
фэнтези
попаданцы
5.00
рейтинг книги
Искатель 4

Я снова князь. Книга XXIII

Дрейк Сириус
23. Дорогой барон!
Фантастика:
юмористическое фэнтези
аниме
попаданцы
5.00
рейтинг книги
Я снова князь. Книга XXIII

Неудержимый. Книга II

Боярский Андрей
2. Неудержимый
Фантастика:
городское фэнтези
попаданцы
5.00
рейтинг книги
Неудержимый. Книга II

Наследник жаждет титул

Тарс Элиан
4. Десять Принцев Российской Империи
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наследник жаждет титул

Камень. Книга восьмая

Минин Станислав
8. Камень
Фантастика:
фэнтези
боевая фантастика
7.00
рейтинг книги
Камень. Книга восьмая

Идеальный мир для Лекаря 5

Сапфир Олег
5. Лекарь
Фантастика:
фэнтези
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 5

Ст. сержант. Назад в СССР. Книга 5

Гаусс Максим
5. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Ст. сержант. Назад в СССР. Книга 5

Уязвимость

Рам Янка
Любовные романы:
современные любовные романы
7.44
рейтинг книги
Уязвимость

Тринадцатый XIII

NikL
13. Видящий смерть
Фантастика:
городское фэнтези
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Тринадцатый XIII

Газлайтер. Том 25

Володин Григорий Григорьевич
25. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Газлайтер. Том 25

Первый среди равных. Книга X

Бор Жорж
10. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Первый среди равных. Книга X

Двойник Короля 10

Скабер Артемий
10. Двойник Короля
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Двойник Короля 10