Навигация по методу Xcode

В Xcode 4 я могу нажать Ctrl-6, чтобы получить список всех методов в текущем файле.

Проблема в том, что если у меня есть частные методы, объявленные в верхней части моего файла реализации, скажите:

@interface Foo ()

-(void)tap:(id)sender;

@end

@implementation Foo

...

-(void)tap:(id)sender
{
  ...
}

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

Есть ли способ исключить эти объявления из списка методов или мне нужно использовать отдельные заголовки Foo.h и Foo+Private.h?

Спасибо!

Ответ 1

Я не думаю, что есть способ исключить объявления метода из всплывающего окна Document Items.

Если вы привыкли использовать сворачивание кода, однако, вы не можете так много полагаться на это всплывающее окно, чтобы перейти к исходному коду. Существуют команды для складывания обоих методов и блоков комментариев, и вы можете сбросить все методы с помощью быстрого быстрого вызова (стрелка командной строки-shift-left для сброса, стрелка вправо для разворачивания по умолчанию, хотя вы можете, конечно, настроить ключи), См. Подменю "Редактор- > Сводка кода" для полного списка связанных команд.

Когда вы складываете все комментарии и методы в файле .m, почти все, что у вас осталось, это список методов, который позволяет легко находить то, что вы ищете. Затем вы можете развернуть этот метод или все методы с помощью другого нажатия клавиши. Немного странно видеть, что весь ваш код исчезает, когда вы впервые начинаете использовать фальцовку, но это очень удобная функция.

Ответ 2

Вам не нужно объявлять частные методы, и вы больше не будете получать предупреждение по умолчанию. Таким образом, один из вариантов заключается не в том, чтобы вообще объявить прототип.

В противном случае, как упомянутый ctrl-6 куртизарь является хорошим ярлыком. Я использую это все время (без мыши):

  • Нажмите ctrl-6
  • Введите первые несколько букв имени метода (или содержащее его слово, и вам даже не нужно указывать его на месте, фильтр поиска очень хорош!)
  • Нажмите до тех пор, пока не будет выбран метод.
  • Нажмите enter

Альтернативно откройте помощника с cmd-alt enter (чтобы закрыть команду cmd-enter, см. здесь дополнительные ссылки). Вы можете заставить помощника редактора посмотреть один и тот же файл, поэтому он имеет одну часть сверху и одну внизу.

Ответ 3

Обычно лучше добавлять именованную категорию для частных методов:

#import "Foo.h"

@interface Foo( Private )
    - ( void )tap: ( id )sender;
@end

@implementation Foo( Private )
    - ( void )tap: ( id )sender
    {}
@end

@implementation Foo
    ...
@end

Затем вы увидите все. Он может не отвечать на ваш вопрос, но, по крайней мере, вы увидите свой метод.

Одно дело также организовать ваши методы с помощью mark pragmas:

#pragma mark - Private methods

Может помочь вам перейти через диалог завершения... Надеюсь, это поможет...