Программирование на Objective-C 2.0
Шрифт:
Изучение контроллера представлений было бы полезным упражнением, но это потребовало бы куда больше усилий, чем вся разработка проекта в контроллере приложения. Однако, если вам нужно осуществлять в приложении более сложные задачи, например, выполнить анимацию, реагировать на поворот экрана, использовать контроллер навигации или создать интерфейс с вкладками, то контроллер представлений вам просто необходим.
Мы надеемся, что это краткое введение в разработку приложений iPhone поможет вам в разработке ваших собственных приложений iPhone. Как говорилось выше, UIKit предоставляет разработчику
В описанном выше приложении для калькулятора дробей имеется несколько ограничений. Многие из них вы снимете, выполнив упражнения, которые приводятся ниже. Упражнения
Добавьте клавишу Convert (Преобразование) в приложение для кал ькулято- ра дробей. При нажатии этой клавиши используйте метод convertToNum класса Fraction, чтобы создать десятичное представление для результата, полученного в виде дроби. Преобразуйте это число в строку и выведите его на дисплее калькулятора.
Внесите изменения в приложение для калькулятора дробей, чтобы можно было вводить отрицательную дробь (перед вводом числителя нажимается клавиша «-»).
Если для знаменателя введено значение «О», нужно вывести строку Error на дисплее калькулятора дробей.
Внесите изменения в приложение для калькулятора дробей, чтобы можно было выполнять цепочку вычислений. Например, нужно разрешить выполнение следующей операции: 1/5 + 2/7 - 3/8 =
Вы можете добавить значок приложения, который будет отображаться на экране iPhone. Для этого можно в папке Resources вашего приложения добавить изображение, которое будет использоваться в качестве значка (.png- файл), и задать этот файл изображения для клавиши «Icon file» в списке информационных свойств (файл Info.plist в вашей папке Resources), как показано на рис. 21.25. Найдите в Интернете подходящее изображение калькулятора и задайте для калькулятора дробей использование этого изображения как значка приложения.
Рис. 21.25. Добавление значка приложения
Приложение А. Словарь
Это приложение содержит неформальные определения многих терминов, ко-торые встречаются в книге. Некоторые из них относятся непосредственно к языку Objective-C, а другие связаны с объектно-ориентированным программи-рованием. Для них указан смысл термина в языке Objectivc-C.
Application Kit. Фреймворк для разработки пользовательского интерфейса при-ложения, который включает такие объекты, как меню, панели инструментов и окна. Входит в Cocoa. Иногда называется AppKit.
Cocoa Touch. Среда разработки, состоящая из фреймворков Foundation и UIKit.
Cocoa. Среда разработки, состоящая из фреймворков Foundation и Application Kit.
extern-переменная. См. Глобальная переменная.
Foundation framework. Коллекция классов, функций и протоколов, которые со-здают основу для разработки приложений, обеспечивая такие базовые возмож-ности, как управление памятью, доступ к файлам и URL, выполнение задач архивации, работа с коллекциями, строками, а также с числовыми объектами и объектами данных.
gee. Имя компилятора, разработанного организацией Free Software Foundation (FSF). gee
gdb. Стандартное средство отладки для программ, откомпилированных с помо-щью gcc.
Header-файл. См. Заголовочный файл.
id. Обобщенный тип объекта, который может содержать указатель налюбой тип объекта.
Interface Builder. Средство под управлением Mac OS X для создания графичес-кого пользовательского интерфейса для приложения.
isa. Специальная переменная экземпляра, определенная в корневом объекте и наследуемая всеми объектами. Переменная isa используется во время выполне-ния (runtime) для идентификации класса, которому принадлежит объект.
nil. Объект типа id, который используется для представления недействительного объекта. Его значение определяется как 0. Объекту nil можно передавать со-общения.
NSObject. Корневой объект в Foundation framework.
self. Переменная, которая используется внутри метода для ссылки на получателя сообщения.
super. Ключевое слово, используемое в методе для ссылки на родительский класс получателя.
UIKit. Фреймворк, позволяющий разрабатывать приложения для iPhone и iTouch. Помимо классов для работы с обычными элементами пользовательского интерфейса (Ш), такими как окна, кнопки и метки, в нем определены классы для работы со специфическими для устройства средствами, такими как ак-селерометр и сенсорный интерфейс. UIKit является частью Cocoa Touch.
Unicode-символ (Unicode character). Стандарт представления символов из набо-ров, содержащих до миллионов символов. Классы NSString и NSMutableString работают со строками, содержащими символы Unicode.
Xcode. Средство компиляции и отладки для разработки программ в Mac OS X.
XML. Сокращение от Extensible Markup Language. Формат по умолчанию для списков свойств, генерируемых в Mac OS X.
Абстрактный класс (abstract class). Класс, определенный таким образом, чтобы упростить создание подклассов. Экземпляры создаются из подкласса, а не из абстрактного класса. См. также Конкретный подкласс.
Автоматическая переменная (automatic variable). Переменная, для которой автоматически выделяется и затем высвобождается память соответственно при входе и выходе из блока операторов. Автоматические переменные имеют область действия, ограниченную блоком, в котором они определены, и не имеют начального значения по умолчанию. Перед ними можно ставить необязательное ключевое слово auto.
Автоматически высвобождаемый пул (autorelease pool). Объект, определенный в Foundation framework, который следит за объектами, которые должны быть высвобождены, когда высвобождается сам пул. Объекты добавляются в этот пул при передаче сообщения autorelease.
Архивация (archiving). Преобразование представления данных объекта в фор-мат, который можно в дальнейшем восстановить (разархивировать).
Битовое поле (bitfield). Структура, содержащая одно или несколько целых полей указанной длины в битах. Доступ к битовым полям и работа с ними происходит так же, как с другими элементами структур.