Как вызывать методы объектов
Методы в Objective C дёргаются в виде сообщений, которые посылаются соответствующему объекту. Весь вызов обрамляется в квадратные скобки.
Пример на Java:
if (x.intersectsArc(35.0, 19.0, 23.0, 90.0, 120.0))
Аналог на Objective C:
if ([x intersectsArcWithRadius:35.0 centeredAtX:19.0 Y:23.0 fromAngle:90.0 toAngle:120.0])
То есть все параметры метода передаются через пробел друг за другом. С указанием имени этого параметра. Сперва это кажется дебилизмом, но потом к этому привыкаешь и понимаешь, что так даже лучше и понятнее – сразу видно что каждый параметр означает.
Базовые классы
Проводя аналогию с Java, вот иерархия основных классов (аналогов Object, String, ArrayList и т. п.):
Причём Array в Objective C не может иметь дырки (т. е. ячейки с пустым указателем), если нужно иметь дырку, можно вставить туда специальный NULL объект.
Null вообще клево обрабатывается, например вот такую проверку
if (foo != null) { не нужно делать:
foo.doThatThingYouDo();
}id foo;
foo = nil;
int bar = [foo count];
Этот код не вызовет никакого Null pointer exception, переменная bar будет установлена в дефолтное значение (ноль). id – это такой специальный тип данных, означающий указатель на объект любого типа.
Основные методы базового класса NSObject
NSObject – базовый класс для всех других классов. Аналог класса Object в Java. И как в жаве он имеет важные методы (о других важных методах в следующих выпусках):
- (id) init – аналог конструктора в Java.
Создаются объекты обычно так:
TheClass *newObject = [[TheClass alloc] init];
alloc – метод класса TheClass, который аллоцирует память и создаёт экземпляр класса.
init – инициализирует поля класса и выполняет всю необходимую логику. Естественно конструктор (метод init) можно перегружать.
- (NSString *) description – аналог toString() в Java. Строковое описание объекта, для дебага и тому подобных нужд.
Как устроен проект в XCode
Вот как выглядит основное окно среды разработки для простейшего проекта (консольное приложение без GUI):
Слева видно всё содержимое проекта – исходники, документация, ссылки на библиотеки, использующиеся в проекте (в Mac OS X они называются frameworks, в данном случае это только Foundation.framework), продукты, которые получаются из проекта, build-targets (не знаю как это по-русски правильно назвать) c наглядным представлением шагов сборки, ошибки и предупреждения, найденные при компиляции, закладки, поиски и т. п.
Вверху настраиваемая менюшка с разными кнопками (сборка, сборка+запуск, рефакторинг, выбор типа компиляции – debug/release, intel/ppc), справа – редактор кода и навигатор по файлам.
0 коммент.:
Отправить комментарий