Каково значение меток #pragma? Зачем нужны знаки #pragma?
Что такое отметка #pragma
в Xcode? Имеет ли место их расположение в файлах .m
? Если какой-то #pragma
подходит ко всем остальным?
- Должны ли они присутствовать?
- Можно добавить новые метки? Почему они такие? Что его вызывает?
- Есть ли какой-либо вред при удалении метки? Хотели бы вы когда-нибудь?
Ответы
Ответ 1
Директивы #pragma mark
отображаются в Xcode в меню для прямого доступа к методам. Они вообще не влияют на программу.
Например, использование его с помощью Xcode 4 приведет к тому, что эти элементы появятся непосредственно в панели перехода.
Существует специальный pragma mark -
, который создает строку.
![enter image description here]()
Ответ 2
#pragma mark
используется для маркировки группы методов, поэтому вы можете легко находить и обнаруживать методы из панели перехода. Это может помочь вам, когда ваши файлы кода достигают около 1000 строк, и вы хотите быстро найти методы через категорию из окна перехода.
В длинной программе становится трудно запомнить и найти имя метода. Знак прагмы позволяет классифицировать методы в соответствии с выполняемой ими работой. Например, вы отметили тег для методов протокола табличного представления, методов AlertView, методов Init, декларации и т.д.
#pragma mark
- это средство для XCode, но оно не влияет на ваш код. Это просто помогает облегчить поиск методов при кодировании.
Ответ 3
В простом слове мы можем сказать, что #pragma mark -
используется для категоризации методов, поэтому вы можете легко найти свои методы. Это очень полезно для длинных проектов.
Ответ 4
Просто добавьте информацию, которую я искал: pragma mark
является специфичным для Xcode, поэтому, если вы имеете дело с проектом С++, который вы открываете в разных IDE, он не имеет никакого эффекта там. Например, в Qt Creator он не добавляет категории для методов и не генерирует никаких предупреждений/ошибок.
ИЗМЕНИТЬ
#pragma
- это директива препроцессора, которая исходит из языка программирования C. Его цель - указать информацию, зависящую от реализации, к компилятору, то есть каждый компилятор может выбрать интерпретацию этой директивы по своему усмотрению. Тем не менее, это скорее считается расширением, которое не изменяет/не влияет на сам код. Поэтому компиляторы также могут игнорировать его.
Xcode - это IDE, которая использует #pragma
и использует ее по-своему. Дело в том, что #pragma
не является специфичным для Xcode и даже Objective-C.
Ответ 5
Когда у нас есть большой/длинный класс, мы говорим больше, чем пара 100 строк кода, мы не можем видеть все на экране монитора, поэтому мы не можем видеть обзор (также называемый документами) нашего класса. Когда-нибудь мы хотим увидеть обзор нашего класса; его все методы, константы, свойства и т.д. Вы можете нажать Ctrl + 6 в XCode, чтобы просмотреть обзор своего класса. Вы получите всплывающее окно Window aka Jump Bar.
По умолчанию в этой строке перехода нет ведер/секций. Это всего лишь один длинный список. (Хотя мы можем просто начать вводить текст, когда появляется панель перехода, и он будет искать элементы перехода). Здесь возникает необходимость pragma mark
Если вы хотите создавать разделы в панели перехода, вы можете использовать прагма-метки с соответствующим описанием. Теперь обратитесь к прилагаемому снимку. "View lifeCycle" и "Раздел, посвященный.." - это разделы, созданные pragma mark
s
Ответ 6
При поиске документа, указывающего на то, как прагма является директивой для компилятора, я нашел эту статью
Ответ 7
#pragma mark - NSSecureCoding
Основная цель "прагмы" - ссылка на разработчика. ![введите здесь описание изображения]()
Вы можете легко найти метод/функцию в тысячах строк кодирования.