Какова цель #pragma
маркировки в Xcode? Имеет ли значение их расположение в .m
файлах? Должны ли некоторые #pragma
прийти впереди всех других?
- Должны ли они присутствовать?
- Можно ли добавлять новые оценки? Зачем им быть? Что вызывает это?
- Есть ли вред в удалении знака? Хотел бы кто-нибудь?
objective-c
xcode
pragma
Джеймс Райцев
источник
источник
Ответы:
#pragma mark
директивы появляются в Xcode в меню для прямого доступа к методам. Они никак не влияют на программу.Например, использование его с Xcode 4 заставит эти элементы появиться непосредственно в панели переходов.
Существует специальный,
pragma mark -
который создает линию.источник
#pragma mark
используется для обозначения группы методов, чтобы вы могли легко находить и обнаруживать методы из панели переходов. Это может помочь вам, когда ваши файлы кода достигают около 1000 строк, и вы хотите быстро найти методы через категорию из поля «Перейти».В длинной программе становится трудно запомнить и найти имя метода. Таким образом, прагма позволяет вам классифицировать методы в соответствии с работой, которую они делают. Например, вы пометили какой-то тег для методов протокола табличного представления, методов AlertView, методов инициализации, объявления и т. Д.
#pragma mark
это средство для XCode, но оно не влияет на ваш код. Это просто помогает упростить поиск методов при кодировании.источник
Проще говоря, мы можем сказать, что
#pragma mark -
он используется для классификации методов, поэтому вы можете легко найти свои методы. Это очень полезно для длинных проектов.источник
Просто чтобы добавить информацию, которую я искал:
pragma mark
специфичен для XCode, поэтому, если вы имеете дело с проектом C ++, который вы открываете в разных IDE, это не имеет никакого эффекта. Например, в Qt Creator он не добавляет категории для методов и не генерирует никаких предупреждений / ошибок.РЕДАКТИРОВАТЬ
#pragma
директива препроцессора, пришедшая из языка программирования Си Его цель - указать зависящую от реализации информацию для компилятора, то есть каждый компилятор может интерпретировать эту директиву так, как он хочет. Тем не менее, это скорее считается расширением, которое не меняет / не влияет на сам код. Таким образом, компиляторы могут игнорировать это.Xcode - это IDE, которая
#pragma
использует его и использует его по-своему. Дело в том, что#pragma
это не Xcode и даже не Objective-C.источник
Когда у нас большой / длинный класс, скажем, более пары сотен строк кода, мы не можем видеть все на экране монитора, следовательно, мы не можем видеть обзор (также называемый элементами документа) нашего класса. Когда-нибудь мы хотим увидеть обзор нашего класса; все методы, константы, свойства и т. д. с первого взгляда. Вы можете нажать Ctrl + 6 в XCode, чтобы увидеть обзор вашего класса. Вы получите всплывающее окно Window aka Jump Bar.
По умолчанию эта панель перехода не имеет сегментов / сегментов. Это всего лишь один длинный список. (Хотя мы можем просто начать печатать, когда появится панель перехода, и она будет искать среди элементов панели перехода). Здесь приходит необходимость
pragma mark
Если вы хотите создать разделы на панели переходов, вы можете использовать прагма с соответствующим описанием. Теперь обратитесь к снимку, прикрепленному в вопросе. Там «View lifeCycle» и «Раздел, посвященный ..» являются разделы, созданные
pragma mark
sисточник
В поисках документа, указывающего на то, как прагма являются директивами для компилятора, я нашел эту статью NSHipster , которая хорошо справляется со своей работой.
Я надеюсь, вам понравится чтение
источник
Основное назначение «прагмы» - для разработчиков.
Вы можете легко найти метод / функцию в огромных тысячах строк кода.
Xcode 11+:
Маркерная линия в топе
Маркерная линия сверху и снизу
Маркерная линия только внизу
источник