Каково значение меток #pragma? Зачем нужны знаки #pragma?

Что такое отметка #pragma в Xcode? Имеет ли место их расположение в файлах .m? Если какой-то #pragma подходит ко всем остальным?

  • Должны ли они присутствовать?
  • Можно добавить новые метки? Почему они такие? Что его вызывает?
  • Есть ли какой-либо вред при удалении метки? Хотели бы вы когда-нибудь?
+244
источник поделиться
7 ответов
Директивы

#pragma mark отображаются в Xcode в меню для прямого доступа к методам. Они вообще не влияют на программу.

Например, использование его с помощью Xcode 4 приведет к тому, что эти элементы появятся непосредственно в панели перехода.

Существует специальный pragma mark -, который создает строку.

enter image description here

+285
источник

#pragma mark используется для маркировки группы методов, поэтому вы можете легко находить и обнаруживать методы из панели перехода. Это может помочь вам, когда ваши файлы кода достигают около 1000 строк, и вы хотите быстро найти методы через категорию из окна перехода.

В длинной программе становится трудно запомнить и найти имя метода. Знак прагмы позволяет классифицировать методы в соответствии с выполняемой ими работой. Например, вы отметили тег для методов протокола табличного представления, методов AlertView, методов Init, декларации и т.д.

#pragma mark - это средство для XCode, но оно не влияет на ваш код. Это просто помогает облегчить поиск методов при кодировании.

+52
источник

В простом слове мы можем сказать, что #pragma mark - используется для категоризации методов, поэтому вы можете легко найти свои методы. Это очень полезно для длинных проектов.

+18
источник

Просто добавьте информацию, которую я искал: pragma mark является специфичным для Xcode, поэтому, если вы имеете дело с проектом С++, который вы открываете в разных IDE, он не имеет никакого эффекта там. Например, в Qt Creator он не добавляет категории для методов и не генерирует никаких предупреждений/ошибок.

ИЗМЕНИТЬ

#pragma - это директива препроцессора, которая исходит из языка программирования C. Его цель - указать информацию, зависящую от реализации, к компилятору, то есть каждый компилятор может выбрать интерпретацию этой директивы по своему усмотрению. Тем не менее, это скорее считается расширением, которое не изменяет/не влияет на сам код. Поэтому компиляторы также могут игнорировать его.

Xcode - это IDE, которая использует #pragma и использует ее по-своему. Дело в том, что #pragma не является специфичным для Xcode и даже Objective-C.

+12
источник

Когда у нас есть большой/длинный класс, мы говорим больше, чем пара 100 строк кода, мы не можем видеть все на экране монитора, поэтому мы не можем видеть обзор (также называемый документами) нашего класса. Когда-нибудь мы хотим увидеть обзор нашего класса; его все методы, константы, свойства и т.д. Вы можете нажать Ctrl + 6 в XCode, чтобы просмотреть обзор своего класса. Вы получите всплывающее окно Window aka Jump Bar.

По умолчанию в этой строке перехода нет ведер/секций. Это всего лишь один длинный список. (Хотя мы можем просто начать вводить текст, когда появляется панель перехода, и он будет искать элементы перехода). Здесь возникает необходимость pragma mark

Если вы хотите создавать разделы в панели перехода, вы можете использовать прагма-метки с соответствующим описанием. Теперь обратитесь к прилагаемому снимку. "View lifeCycle" и "Раздел, посвященный.." - это разделы, созданные pragma mark s

+10
источник

При поиске документа, указывающего на то, как прагма является директивой для компилятора, я нашел эту статью

+7
источник
#pragma mark - NSSecureCoding

Основная цель "прагмы" - ссылка на разработчика. введите здесь описание изображения

Вы можете легко найти метод/функцию в тысячах строк кодирования.

0
источник

Посмотрите другие вопросы по меткам или Задайте вопрос