Статьи

Цель-С кратко: Введение

Objective-C — это язык программирования для приложений Apple. Язык был изначально разработан в 1980-х годах как способ добавления объектно-ориентированных возможностей к языку программирования ANSI C, и с тех пор он использовался для создания всего — от инструментов командной строки до программ Mac и мобильных приложений. Вы можете думать о Objective-C как о версии Apple для языка программирования C #.

Однако изучение Objective-C — это только один аспект разработки приложений для iPhone, iPad и Mac. Поверх языка лежат несколько платформ, которые предоставляют инструменты, необходимые для создания приложений для любой из этих платформ. Например, инфраструктура UIKit определяет основные компоненты пользовательского интерфейса, которые вы видите на вашем iPhone (кнопки, списки, изображения и т. Д.), В то время как платформа Core Data предоставляет API для сохранения и извлечения данных с устройства. Objective-C — это клей, который позволяет вам собрать эти инструменты и собрать их в полезную программу.

Рисунок 1. Objective-C, объединяющий аспекты нескольких структур

Objective-C объединяет аспекты нескольких структур

Objective-C Succinctly — первый выпуск из двух частей, посвященных разработке приложений Apple. В этой серии мы рассмотрим весь язык Objective-C на практических примерах. Мы сосредоточимся на изучении основных понятий языка путем создания инструментов командной строки, что означает, что мы не будем создавать графические приложения в этой книге . Это закладывает основу для iOS Succinctly , которая исследует среду iOS, лежащую в основе приложений для iPhone и iPad. Обе книги используют Xcode , официальную интегрированную среду разработки Apple.


Для разработчиков, пришедших из C # фона, Objective-C сохраняет многие из тех же рабочих процессов и объектно-ориентированных концепций. Вы по-прежнему пишете код, компилируете его в исполняемый файл и, конечно, используете объекты для организации своего приложения. Objective-C предоставляет стандартные объектно-ориентированные конструкции, такие как интерфейсы, классы, методы класса / экземпляра и средства доступа. Тем не менее, есть несколько важных различий между Objective-C и такими языками, как C ++ и C #.

1
2
person.sayHello();
[person sayHello];

Первое, что вы заметите, это то, что Objective-C использует совершенно другой синтаксис для взаимодействия между объектами. Например, сравните синтаксис вызова метода C # с синтаксисом отправки сообщений Objective-C:

Вместо вызова метода, который привязан к объекту, Objective-C «отправляет сообщения» от объекта к объекту, используя обозначение в квадратных скобках. Для большинства практических целей вы можете подходить к отправке сообщений как к вызову метода, и мы будем использовать термины взаимозаменяемо, если это не приведет к путанице.

Во-вторых, Objective-C спроектирован так, чтобы быть надмножеством C, что означает возможность компилировать код C любым компилятором Objective-C. Это также означает, что вы можете комбинировать Objective-C и C в одном проекте или даже в одном файле. Кроме того, большинство современных компиляторов добавляют C ++ к миксу, так что фактически можно смешивать Objective-C, C ++ и C в одном файле. Это может быть очень запутанным для новичков в Objective-C, но это также делает всю экосистему C / C ++ доступной для приложений Mac и iOS.

Мы рассмотрим эти различия и многое другое в Objective-C лаконично .


Вы узнаете больше из этой книги, если заново создадите образцы, используя код, приведенный в книге.

Выборочный набор образцов с использованием кода, приведенного в книге, доступен онлайн. Эти образцы необходимы для понимания Objective-C. Эти образцы доступны для загрузки по адресу https://bitbucket.org/syncfusion/objective_c_succinctly . Образцы, которые применяются к конкретным разделам, упоминаются в разделе, к которому они применяются, в следующем формате:

Включенный пример кода: {имя папки с образцами}


Существует несколько компиляторов для Objective-C, но эта книга будет посвящена среде разработки Xcode, которая поставляется с компилятором, текстовым редактором, отладчиком, редактором интерфейса и всем остальным, что нужно для создания приложений iOS в удобном пакете. На момент написания этой статьи XCode был доступен только для OS X, поэтому вам нужно быть на Mac, прежде чем вы сможете запустить любой код из этой книги.

Мы начнем с пошаговой установки Xcode, а затем узнаем, как создать приложение, и рассмотрим некоторые выдающиеся возможности IDE.


Рисунок 2 Логотип Xcode в Mac App Store

Логотип Xcode в Mac App Store

Xcode можно загрузить из Mac App Store . Перейдите по ссылке или выполните поиск кода Xcode в Mac App Store, а затем нажмите « Бесплатно» в верхнем левом углу, чтобы начать загрузку. Приложение Xcode довольно большое, поэтому его загрузка займет не менее нескольких минут. Если вы не уверены, работает ли загрузка, вы можете проверить ее состояние на вкладке « Покупки » в Mac App Store:

Рисунок 3 Вкладка «Покупки» в Mac App Store

Вкладка «Покупки» в Mac App Store

Прокрутите вниз, чтобы найти загрузку Xcode, и вы увидите индикатор выполнения, показывающий, как далеко он продвинулся. После завершения загрузки установка должна быть простой, и вы должны (надеюсь) увидеть дружественный экран приветствия при запуске программы.

Рисунок 4 Экран приветствия Xcode

Экран приветствия Xcode

Нашим первым приложением Objective-C будет простая командная строка «Hello, World!» программа. Чтобы создать проект Xcode, нажмите « Создать новый проект Xcode» на экране приветствия. В качестве альтернативы вы также можете выбрать Файл > Создать > Проект …. Это дает вам возможность выбрать шаблон проекта. Как видите, шаблоны относятся к категории приложений iOS или Mac OS X. Во второй части этой серии мы будем работать с несколькими шаблонами iOS, но сейчас давайте придерживаться простого шаблона инструмента командной строки в Mac OS X > Приложение :

Рисунок 5 Категории шаблонов Mac OS X и значок шаблона командной строки

Категории шаблонов Mac OS X и значок шаблона инструмента командной строки

Далее вам должны быть представлены некоторые параметры конфигурации для вашего нового проекта. В качестве имени продукта используйте HelloObjectiveC . Если вы планируете распространять эту программу, вам потребуется приобрести Идентификатор компании, зарегистрировавшись в качестве разработчика в Apple, но, поскольку это личный проект, вы можете использовать edu.self . Это служит уникальным пространством имен для приложения. В поле « Тип» выберите « Основа» (подробнее об этом позже) и обязательно установите флажок « Использовать автоматический подсчет ссылок», поскольку мы не хотим вручную управлять памятью. Окончательные параметры конфигурации должны выглядеть следующим образом:

Рисунок 6 Параметры конфигурации для нашего нового проекта

Варианты конфигурации для нашего нового проекта

Наконец, вы сможете выбрать место для сохранения вашего проекта. Сохраните его где угодно, но отмените выбор опции « Контроль источника» в нижней части окна. Это инициализирует Git-репозиторий в папке вашего проекта, но мы работаем с таким небольшим проектом, что нам не нужно беспокоиться о контроле версий.

Рисунок 7 Отмена выбора опции «Контроль источника»

Отмена выбора параметра «Контроль источника»

После выбора местоположения для проекта и нажатия кнопки « Создать» Xcode создает новую папку с именем HelloObjectiveC . В нем вы должны найти другую папку HelloObjectiveC, содержащую файлы проекта, а также папку HelloObjectiveC.xcodeproj ; однако последний действует скорее как файл, чем как папка. HelloObjectiveC.xcodeproj определяет метаданные для вашего приложения, а также параметры локальной конфигурации для IDE.

Единственный файл, который вам действительно нужен в папке .xcodeproj, — это файл project.pbxproj , который содержит настройки сборки и другую информацию, связанную с проектом. То есть, если ваш проект находился под контролем исходного кода, project.pbxproj — единственный файл в HelloObjectiveC.xcodeproj , который должен находиться под контролем версий.

Двойной щелчок по папке HelloObjectiveC.xcodeproj запустит Xcode и откроет проект.


XCode — это большое приложение со многими возможностями, и оно имеет соответственно сложный интерфейс. Стоит потратить некоторое время на ознакомление с различными компонентами пользовательского интерфейса, выделенными на следующем снимке экрана.

Рисунок 8. Основные компоненты среды Xcode.

Основные компоненты Xcode IDE

Как вы можете видеть, интерфейс XCode разделен на три основных окна: навигатор проекта (синий), редактор / рабочая область (желтый) и область утилит (фиолетовый). Навигатор позволяет выбирать файлы, находить разрывы кода и отлаживать вашу программу. Редактор — это место, где вы будете выполнять основную часть своей работы — именно там вы будете редактировать код, а для графических приложений — разрабатывать свои пользовательские интерфейсы и управлять потоком приложения. Но опять же, для Objective-C вкратце , нам не понадобятся какие-либо инструменты редактирования интерфейса. Наконец, область утилит позволяет вам определить параметры для выбранного компонента (например, цели сборки, связанные с конкретным файлом).

Вы можете контролировать, какие из этих окон видны, используя селектор вида (зеленый) в правом верхнем углу; однако скрыть рабочую область невозможно. Если щелкнуть центральную кнопку в селекторе представлений, появится окно вывода, в котором мы увидим данные журнала для нашего приложения.

Наш шаблон командной строки поставляется с единственным файлом Objective-C, main.m. Расширение .m используется для файлов, которые содержат только код Objective-C, а расширение .mm предназначено для файлов с сочетанием Objective-C и C, Objective-C и C ++ или сочетанием всех трех. Чтобы отредактировать main.m , выберите его на панели навигатора, и вы должны увидеть следующий код в окне редактора:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
//
// main.m
// HelloObjectiveC
//
// Created by Ryan Hodson on 8/21/12.
// Copyright (c) 2012 __MyCompanyName__.
#import <Foundation/Foundation.h>
 
int main(int argc, const char * argv[])
{
 
    @autoreleasepool {
 
        // Insert code here…
        NSLog(@»Hello, World!»);
 
    }
    return 0;
}

В следующей главе дается подробное объяснение этого кода, но пока единственной важной вещью является функция NSLog() , которая выводит строку на консоль. Также обратите внимание, что строки Objective-C имеют префикс @ (как и большинство конструкций, исключающих Objective-C), и они должны быть заключены в двойные кавычки.

Включенный пример кода: HelloObjectiveC

Чтобы скомпилировать этот код и запустить полученный исполняемый файл, просто нажмите кнопку « Выполнить» в верхнем левом углу среды IDE. В качестве альтернативы вы можете выбрать Product > Run в главном меню или использовать сочетание клавиш Cmd + R. Это должно открыть панель вывода в нижней части экрана с «Привет, мир!» сообщение:

Рисунок 9 Вывод журнала HelloObjectiveC

Вывод журнала HelloObjectiveC

И это основы установки IDE Xcode и использования ее для создания и компиляции проекта Objective-C. Мы не занимались кодированием, но, надеюсь, вы чувствуете себя более комфортно с интерфейсом Xcode и, по крайней мере, можете ориентироваться в файлах проекта. В следующей главе мы начнем с написания кода Objective-C, определения классов, создания объектов и отправки им сообщений.

Этот урок представляет собой главу из Objective-C, лаконично , бесплатную электронную книгу от команды Syncfusion .