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

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

Жанры

Программирование на 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, как с любым серьезным средством разработки, требует определенного опыта.

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

Зодчий. Книга II

Погуляй Юрий Александрович
2. Зодчий Империи
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Зодчий. Книга II

Я все еще не царь. Книга XXVI

Дрейк Сириус
26. Дорогой барон!
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Я все еще не царь. Книга XXVI

Ренегат космического флота

Борчанинов Геннадий
4. Звезды на погонах
Фантастика:
боевая фантастика
космическая фантастика
космоопера
5.00
рейтинг книги
Ренегат космического флота

Свет Черной Звезды

Звездная Елена
6. Катриона
Любовные романы:
любовно-фантастические романы
5.50
рейтинг книги
Свет Черной Звезды

Искатель 3

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

Истребители. Трилогия

Поселягин Владимир Геннадьевич
Фантастика:
альтернативная история
7.30
рейтинг книги
Истребители. Трилогия

Сотник

Вязовский Алексей
2. Индийский поход
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Сотник

Последний Паладин. Том 6

Саваровский Роман
6. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 6

По дороге на Оюту

Лунёва Мария
Фантастика:
космическая фантастика
8.67
рейтинг книги
По дороге на Оюту

Девочка из прошлого

Тоцка Тала
3. Айдаровы
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Девочка из прошлого

Сфирот

Прокофьев Роман Юрьевич
8. Стеллар
Фантастика:
боевая фантастика
рпг
6.92
рейтинг книги
Сфирот

Путёвка в спецназ

Соколов Вячеслав Иванович
1. Мажор
Фантастика:
боевая фантастика
7.55
рейтинг книги
Путёвка в спецназ

Наследник

Шимохин Дмитрий
1. Старицкий
Приключения:
исторические приключения
5.00
рейтинг книги
Наследник

Законы Рода. Том 13

Андрей Мельник
13. Граф Берестьев
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Законы Рода. Том 13