Программирование на Objective-C 2.0
Шрифт:
Внесите изменения в приложение для калькулятора дробей, чтобы можно было вводить отрицательную дробь (перед вводом числителя нажимается клавиша «-»).
Если для знаменателя введено значение «О», нужно вывести строку Error на дисплее калькулятора дробей.
Внесите изменения в приложение для калькулятора дробей, чтобы можно было выполнять цепочку вычислений. Например, нужно разрешить выполнение следующей операции: 1/5 + 2/7 - 3/8 =
Вы можете добавить значок приложения, который будет отображаться на экране iPhone. Для этого можно в папке Resources вашего приложения добавить изображение, которое будет использоваться в качестве значка (.png- файл),
Рис. 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 поддерживает многие языки программирования, включая С, Objective-C и C++, gee — это стандартный компилятор, используемый в Мае OS X для компиляции программ Objective-C.
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). Структура, содержащая одно или несколько целых полей указанной длины в битах. Доступ к битовым полям и работа с ними происходит так же, как с другими элементами структур.
Блок операторов (statement block) . Один или несколько операторов, заключен-ных в фигурные скобки. Внутри блока операторов можно объявить локальные переменные, и область их действия ограничивается этим блоком.
Выражение с сообщением (message expression). Выражение, заключенное в пря-моугольные скобки, которое указывает объект (получатель) и сообщение, пе-редаваемое этому объекту.
Глобальная переменная (global variable). Переменная, определенная вне любого метода или функции в том же исходном файле или в других исходных файлах, где эта переменная объявлена как внешняя (extern).
Делегат (delegate). Объект, которому поручает выполнить определенное действие другой объект.
Динамический контроль типов (dynamic typing). Определение класса, которому принадлежит объект, на этапе выполнения, а не во время компиляции. См. так-же Статический контроль типов.
Динамическое связывание (dynamic binding). Определение конкретного метода для вызова с объектом на этапе выполнения, а не во время компиляции.
Директива (directive). В Objective-C — специальная конструкция, которая начи-нается со знака (@). Примеры директив: (©interface, ©implementation, ©end и @class.
Заголовочный файл (header file). Файл, содержащий общие определения, мак-росы и объявления переменных, которые включаются в программу с помощью оператора #import или #include.
Зона (zone). Назначаемая область памяти для размещения данных и объектов. Программа может работать с несколькими зонами для более эффективного уп-равления памятью.
Инкапсуляция (encapsulation). См. Инкапсуляция данных.
Инкапсуляция данных (data encapsulation). Концепция, согласно которой данные для объекта сохраняются в его переменных экземпляра и доступ к ним имеют только методы этого объекта. Это позволяет поддерживать целостность данных.