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

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

Жанры

Программирование на 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

Начинает секцию interface. @interface Fraction: NSObject <Copying> @private Определяет область действия одной или нескольких переменных экземпляра. См. «Переменные экземпляра» @protected Определяет область действия одной или нескольких переменных экземпляра. @public Определяет область действия одной или нескольких переменных экземпляра. @property (список) имена Объявляет свойства в списке для имен. @property (retain, nonatomic) NSSTHING *name; @protocol Создает объект типа Protocol для указанного протокола. @protocol (Copying)]){...} if ([myObj conformsTo: (protocol) @protocol имя Начинает определение протокола для имени. @protocol Copying @selector (метод) Объект типа SEL для указанного метода. if ([myObj respondsTo: @selector(allocF)]) (...) @synchronized (объект) Начинает блок, который должен выполняться одним потоком. Объект называется взаимоисключающим (mutually exclusive, mutex) семафором. @synthesize имена Генерирует методы доступа для имен, если они не заданы. @synthesize name, email; См. также «Переменные экземпляра» @try Начинает блок для улавливания исключительных ситуаций (исключений). См. «Обработка исключительных ситуаций» @catch (исключение) Начинает блок для обработки исключения. @finally Начинает блок, который выполняется в предположении, что предыдущем блоке @try было «инициировано» (throw) исключение. @throw Инициирует исключение. Предопределенные идентификаторы

В таблице В.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

или L, и тогда она становится константой типа long int, если умещается в этот размер, иначе она интерпретируется как long long int. И, наконец, если она не умещается в long long int, она и нтерп ретируется как константа типа unsigned long long int.

В конце десятичной целой константы можно добавить суффикс 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 Шестнадцатеричное значение символа

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

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

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

Воин-Врач

Дмитриев Олег
1. Воин-Врач
Фантастика:
попаданцы
альтернативная история
историческое фэнтези
6.00
рейтинг книги
Воин-Врач

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

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

Жена по ошибке

Ардова Алиса
Любовные романы:
любовно-фантастические романы
7.71
рейтинг книги
Жена по ошибке

Император Пограничья 7

Астахов Евгений Евгеньевич
7. Император Пограничья
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Император Пограничья 7

Агенты ВКС

Вайс Александр
3. Фронтир
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Агенты ВКС

Неучтенный элемент. Том 1

NikL
1. Антимаг. Вне системы
Фантастика:
городское фэнтези
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 1

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

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

Двойник короля 13

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

Вперед в прошлое 7

Ратманов Денис
7. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 7

Отверженный. Дилогия

Опсокополос Алексис
Отверженный
Фантастика:
фэнтези
7.51
рейтинг книги
Отверженный. Дилогия

Звездная Кровь. Экзарх II

Рокотов Алексей
2. Экзарх
Старинная литература:
прочая старинная литература
5.00
рейтинг книги
Звездная Кровь. Экзарх II

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

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

Отморозок 3

Поповский Андрей Владимирович
3. Отморозок
Фантастика:
попаданцы
5.00
рейтинг книги
Отморозок 3