Продолжаем наше знакомство с Xcode. Сегодня мы разберем что и где находится, а также когда нам это пригодится. Прошлый урок закончился тем, что мы создали первый проект под именем «HelloWorld».
Откройте наш проект и Вы увидите следующее окно:

Для простоты понимания, начнем рассматривать основные разделы IDE по-порядку.
Toolbar
Тулбар — это серая полоса в верхней части окна:

Пропустим кнопки закрытия/сворачивания и рассмотрим все элементы по-порядку:
- Кнопка Run запускает наш проект. На самом деле, она прячет за собой несколько функций. Зажмите её и перед Вами появится контекстное меню с опциями: Run, Test, Profile и Analyze.
- Кнопка Stop останавливает текущий процесс: сборка приложения, установка, дебаг, архивация и другие.
- Следующий элемент — строка состояния. Она отображает что происходит с приложением на данный момент: Ready, Building, Failed и т.д.
- Предпоследняя группа кнопок позволяют выбрать вид редактора. Первая кнопка отображает стандартный вид. Средняя кнопка активирует режим Assistant editor (отображается два окна редактора). Третья кнопка используется в случае, если при разработке используется система контроля версий.
- Крайняя группа кнопок прячет/показывает секции Navigator, Debug и Utilities соответственно.
Navigator
Каждый полноценный проект будет содержать большое количество файлов, я бы даже сказал огромное. Для навигации между этими файлами и служит Navigator. Данная область имеет несколько режимов, между которыми можно переключаться кнопками вверху. Мы кратко пройдемся по каждому из них:

- Project отображает список всех ваших файлов в проекте. Выбрав любой из них, содержимое откроется в редакторе (центральная область Xcode).
- Symbol покажет Вам список всех классов в проекте, а также методы и property внутри этих классов.
- Find — это, по сути, форма поиска по всем файлам проекта. По-мимо поиска, она позволяет сделать Find & Replace.
- Issue хранит в себе список всех проблем и ошибок в проекте. Вы часто будете сталкиваться с этим окном.
- Test отображает список всех тестовых классов, подобно Project navigation.
- Debug используется в тот момент, когда приложение запущено. Здесь Вы сможете увидеть сколько памяти ЦПУ, RAM потребляется аппом и многое другое.
- Breakpoint выведет список всех брэйкпоинтов, которые были выставлены Вами. Если Вы начинающий разработчик и не знаете, что такое брейкпоинты — не бойтесь, мы обязательно рассмотрим их в будущем, так как они еще не раз спасут проект от фиаско.
- Report отображает историю состояний Xcode. Он покажет когда были запуски проекта, были ли они удачными и т.д.
Utilities
Правый раздел Xcode и есть Utilities. Верхняя секция имеет разное количество состояний и вкладок, поэтому будет сложно описать их все и прийдется разбираться с ними «на ходу». В двух словах, данный раздел отображает различные опции классов, также в этой секции редактируются графические элементы интерфейса (GUI) и много другое.
Нижняя секция содержит всего 4 вкладки:
- File template library даёт быстрый доступ к созданию файлов классов, xib, storyboards и т.д.
- Code snippet library — весьма полезный раздел, ведь в нём хранятся сниппеты. Вы можете выбрать любой из них и с помощью drag’n’drop перенести в код класса. Также имеется возможность создавать свои сниппеты и пользоваться ими в будущем.
- Object library содержит все графические элементы, предоставляемые Xcode. К таковым относятся текстовые поля (UITextField, UITextView), объекты изображений (UIImageView), надписи (UILabel) и другие. Учтите: для того чтобы отобразились все элементы, нужно выбрать файл GUI — файл с расширением .xib или .storyboards.
- Media library отображает список всех медиа-файлов в проекте.
Debug area
Последний на сегодня раздел, который находится в самом внизу — debug area. Он используется в тот момент, когда приложение запущено. Рассмотрим его содержимое по-порядку:

Начнем с верхнего ряда кнопок:
- Первая открывает и закрывает Debug area. Помните подобную кнопку в тулбаре? 🙂
- Вторая кнопка Deactivate breakpoints делает Ваши брейкпоинты активными и нет.
- Третья кнопка Play/Pause останавливает или продолжает Runtime аппа соответственно.
- Следующие три кнопки, в виде стрелок, используются в момент дебага. Они позволяют продвигаться в цикле работы приложения по каждой строчке. Их работу Вы можете изучить в будущем сами.
- Предпоследняя кнопка Debug View Hierarchy активирует дебаг-сессию Вашего GUI.
- Последняя кнопка позволяет имитировать местоположение устройства. Это очень удобно, когда Вам приходится работать с картами и т.д.
Теперь перейдем к двум нижним подразделам. Стоит заметить сразу, что они полезны только в том случае, если приложение запущено.
- Во время дебага, левый раздел будет отображать список всех активных объектов в памяти устройства. Вы сможете просматривать их состояния, какое значение они хранят и т.д.
- Правый раздел — это лог (журнал) нашего проекта. Здесь Вы будете выводить промежуточные состояния переменных, различные полезные сообщения, а также здесь будут выводиться ошибки во время падения приложения (краша). В общем, пользоваться прийдется им очень много.
Мы рассомотрели все основные секции в Xcode, поэтому на этом урок подходит к концу. В следующем уроке мы перейдем к самому долгожданному момент — будем писать первый полноценный апп.