Метка #pragma не отображается в методах в Xcode 4.0 - PullRequest
21 голосов
/ 15 марта 2011

В версии Xcode 4.0 я заметил, что метки #pragma внутри методов больше не отображаются на панели переходов.Единственные метки #pragma, которые отображаются, это те, которые находятся между методами.

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

Всемзнаете, как заставить их появиться снова?

Ответы [ 14 ]

1 голос
/ 22 мая 2013

Чтобы уточнить правильный ответ RantriX…

Если ваш первый #pragma mark не появляется в контекстном меню панели перехода, добавьте пару фигурных скобок.(Xcode version 4)

Например, измените это:

@implementation MainMenu

#pragma mark Lifecycle

на это (обратите внимание на фигурные скобки):

@implementation MainMenu
{

}

#pragma mark Lifecycle
1 голос
/ 31 октября 2012

user1639164 - рискуя быть педантичным, я бы сказал, что вы на 95% правы.Я обнаружил, что можно заставить Xcode отображать прагму до вашего первого метода.Если первый кусок кода в исходном файле окажется обычной процедурой, а не методом, тогда вы увидите прагму.Например,

NSString * localizedString (NSString * key)
{
// My code here…
}

# pragma mark - app-delegate startup

- (id) init
{
  self = [super init];
  if (self)… etc

Это выдержка из моего кода делегата приложения.В этом случае вы увидите , что прагма появится перед первым методом.Но не раньше, чем ваш первый кусок кода!:-) Так что, как будто прагма-механизм разбора не может запустить свою задницу, пока не будет замечена хотя бы одна рутина - метод или иное.Как вы говорите, надеюсь, это скоро исправят.

1 голос
/ 29 марта 2011

Вы можете найти ответ в этой теме .

0 голосов
/ 13 июля 2018

Для отображения прагма-меток в Jump Bar попробуйте это:

  1. Просто удалите пробелы между '// MARK' и ':'.
  2. Это должно быть так '// MARK:'.
...