Программирование на Objective-C 2.0
Шрифт:
Табл. В.1. Директивы компилятора Директива Описание Пример @"символы" Определяет константный строковый объект типа NSSTRING. (Дня смежных строк выполняется конкатенация.) NSString *url = @"http://www.kochan-wood.com"; @class с1, с2,... Объявляет c1 , с2 ,... как классы. @class Point, Rectangle; @defs (класс) Возвращает список структурных переменных для класса. struct Fract {@defs( Fraction);} *fractPtr; fractPtr = (struct Fract *) [[Fraction alloc] init]; @dynamic имена Методы доступа для имен могут предоставляться динамически. @dynamic drawRect; @encode (тип) Строковое кодирование для типа. @encode (int *) @end Заканчивает секцию interface, секцию implementation или секцию протокола. @end @implementation Начинает секцию implementation, @implementation Fraction @interface
В таблице В.2 приводится список идентификаторов, которые имеют специальный смысл в программах на Objective-C.
Табл. В.2. Специальные предопределенные идентификаторы Идентификатор Описание _cmd Локальная переменная, автоматически определяемая в методе, который содержит селектор для этого метода. func Локальная символьная строковая переменная, автоматически определяемая в функции или в методе; содержит имя функции или метода. BOOL Булева переменная, обычно со значениями YES и NO. Class Тип объекта-класса. id Обобщенный тип объекта. IMP Указатель на метод, возвращающий значение типа id. nil Пустой объект. Nil Пустой объект-класс. NO Определяется как (BOOL) 0 NSObject Корневой объект Foundation, определенный в < Foundation/NSObject.h>. Protocol Имя класса для хранения информации о протоколах. SEL Откомпилированный селектор. self Локальная переменная, автоматически определяемая в методе, которая обозначает получателя сообщения. super Родительский объект получателя сообщения. YES Определяется как (BOOL) 1. Комментарии
Имеется два способа вставки комментариев в программу. Комментарий может начинаться с двух символов //, и в этом случае любые последующие символы этой строки игнорируются компилятором.
Комментарий может также начинаться с символов / и заканчиваться символами /• К такой комментарий можно включать любые символы, и он может занимать несколько строк. Комментарий можно использовать в любом месте программы, если для этого есть место. Однако комментарии не допускают вложенности. Это означает, что комментарий всегда заканчивается символами /, даже если до этого встретилось несколько наборов символов /. Константы Константы целого типа
Константа целого типа (целая константа) - это состоящая из цифр последова-тельность, перед которой может дополнительно ставиться знак «плюс» или «минус». Если первой цифрой является 0, значит, это восьмеричная константа, и тогда следующие цифры должны быть в диапазоне 0-7. Если первой цифрой является О, и сразу после нее следует буква х (или X), значит, это шестнадцатеричная константа, и последующие цифры должны быть в диапазоне 0-9, a-f (или A-F).
В конце десятичной целой константы можно добавить суффикс I
В конце десятичной целой константы можно добавить суффикс II или LL, чтобы сделать ее long long int. При добавлении этого суффикса в конец восьмеричной или шестнадцатеричной константы, она интерпретируется сначала как long long int, но если не умещается в этот размер, то получает тип unsigned long long int.
В конце целой константы можно добавить суффикс и ИЛИ U, чтобы сделать ее константой без знака (unsigned). Если она не умещается в размер unsigned int, она интерпретируется как unsigned tong int. Если она превышает также этот размер, то интерпретируется как unsigned tong tong int.
Два суффикса — для unsigned и для tong — можно добавить к целой константе, чтобы она имела тип unsigned tong int. Если константа не умещается в этот тип, она обрабатывается как unsigned long long int.
Два суффикса - для unsigned и для tong long - можно добавить к целой кон-станте, чтобы она имела тип unsigned tong tong int.
Если десятичная целая константа без суффиксов слишком велика, чтобы уместиться в тип signed int, она интерпретируется как long int. Если она слишком велика, чтобы уместиться в тип long int, она интерпретируется как long long int.
Если восьмеричная или шестнадцатеричная целая константа без суффик-сов слишком велика, чтобы уместиться в тип signed int, она интерпретируется как unsigned int. Если она слишком велика, чтобы уместиться в тип unsigned int, она интерпретируется как long int, и если она не умещается в этот тип, то интерпретируется как unsigned long int. Если она не умещается в unsigned tong int, то интерпретируется как long tong int. И, наконец, если она слишком велика для tong long int, то интерпретируется как unsigned tong long int. Константы с плавающей точкой
Константа с плавающей точкой состоит из последовательности десятичных цифр, десятичной точки и еще одной последовательности десятичных цифр. Перед значением можно ставить знак «минус» для отрицательных значений. Кроме того, может отсутствовать последовательность цифр до десятичной точки или после нее, но не обе последовательности.
Если в конце константы с плавающей точкой добавлены буква е (или Е) и целое число (с необязательным знаком), константа имеет экспоненциальное представление. Это целое число (порядок) указывает, что значение до буквы е (мантисса) умножается на 10 в степени, равной этому целому числу (например, 1.5е-2 представляет 1.5 X ЮЛ или .015).
Шестнадцатеричная константа с плавающей точкой состоит из ведущих символов Ох или ОХ, после которых следуют одна или несколько десятичных или шестнадцатеричных цифр, затем буква р или Р и затем показатель степени для основания 2 с возможным знаком. Например, ОхЗрЮ представляет значение 3 х 2,с. Константы с плавающей точкой интерпретируются компилятором как значения с двойной точностью (double). Можно добавить суффикс f или F, и тогда константа будет иметь тип float вместо double; можно добавить суффикс I или L, чтобы указать константу типа long double. Символьные константы
Один символ, заключенный в апострофы, является символьной константой. Обработка нескольких символов, заключенных в апострофы, определяется ре-ализацией. В символьной константе можно использовать универсальный символ, чтобы указать символ, не входящий в стандартный набор символов. Escape-последовательности
Специальные escape-последовательности распознаются и вводятся с помощью символа «обратный слэш*. Ниже приводятся эти escape-последовательности. Символ Описание \а Звуковой сигнал \b Символ Backspace (возврат на одну позицию назад) \f Form feed (подача страницы) \n Переход на новую строку \r Символ возврата каретки \t Горизонтальное табулирование \v Вертикальное табулирование \ Обратный слэш \" Кавычка \' Апостроф \? Вопросительный знак \nnn Восьмеричное значение символа \unnn Имя универсального символа \Unnnnnnnn Имя универсального символа \xnn Шестнадцатеричное значение символа