Xcode найти функции вызывающего абонента - PullRequest
115 голосов
/ 10 января 2010

В XCode, как я могу найти все функции вызывающего абонента определенной функции?

Ответы [ 10 ]

125 голосов
/ 20 июня 2012

Xcode 4.5 (в бета-версии) имеет эту функцию. когда вы выделите сказать ... функцию, вы можете проверить «вызывающий» и «вызываемый»

edit Я полагаю, что он расположен в левом верхнем углу панели файлов для этого файла ... поэтому дважды щелкните по функции, чтобы выделить ее, и вы нажмете на опции панели файлов (тот, который с раскрывающимся списком "открыть недавно, открыть не сохранено ... и т. д."

РЕДАКТИРОВАТЬ # 2

вот картинка для пояснения (так как я не знаю, как называется эта кнопка меню) enter image description here:

ТАКЖЕ - XCode 4.5 больше не является бета-версией, я думаю, и на самом деле публично

РЕДАКТИРОВАТЬ # 3

также обратите внимание, что этот вызывающий объект НЕ ищет вызов по методу performSelector, как, например, конкретный вызывающий, имеющий этот performSelector, не появится, если вы сделали что-то вроде:

[self performSelector:@selector(checkIfShouldStopMovement) withObject:nil afterDelay:0.25];
52 голосов
/ 20 ноября 2012

В XCode 4.5 самый быстрый способ такой:

  1. Выбор метода в коде (двойной щелчок или отметка с помощью курсора мыши)
  2. Нажмите Ctrl + 1
  3. Выберите «Абоненты» во всплывающем меню.

Это ярлык для перехода Вид-> Стандартный редактор-> Показать связанные элементы в меню заголовка XCode.

29 голосов
/ 25 ноября 2015

используйте комбинацию клавиш ⌘ + Ctrl + Shift + H для XCode 7.

23 голосов
/ 21 февраля 2013

Доступ к этому также можно получить через редактор помощника, как показано на скриншоте ниже. Какой бы метод у вас ни находился в главном редакторе слева, его вызывающие абоненты будут отображаться в редакторе помощника. Я обнаружил, что это лучший способ последовательного просмотра каждого звонящего, поскольку после того, как вы выбрали «Абоненты», вы можете выбрать следующего звонящего через следующее всплывающее меню справа в панели переходов.

enter image description here

18 голосов
/ 29 октября 2015

В Xcode-7 у вас есть функциональность получения вызова-наследования. Щелкните правой кнопкой мыши на функции и выберите «Найти иерархию вызовов»: ссылка на изображение:

4 голосов
/ 10 января 2010

Используйте Поиск в проекте как текст или как символ.

AFAIK, нет эквивалента, например, Иерархия вызовов известна из Eclipse или NetBeans.

3 голосов
/ 25 апреля 2017

Нажмите ⌘+Ctrl+Shift+H ярлык, когда выбран интересующий метод (с помощью мыши или курсора). (согласно ответу @uiroshan)

Но вы также можете указать любой другой ярлык в XCode -> Preferences -> Key Bindings

image Preferences -> Key Bindings">

3 голосов
/ 26 января 2011

Странно, но инструмент рефакторинга может обнаружить все вызовы методов, но не поиск.

Поэтому я просто использую его, чтобы переименовать мой метод в уникальное имя (например, сбросить в resetPlayer), а затем использую новое имя в обычном текстовом поиске.

1.) Меню> Правка> Refactor ...> Переименовать в уникальное имя

2.) Поиск нового имени

2 голосов
/ 04 сентября 2012

Функциональность доступна в XCode 4.4.1, см. Это: http://smilingfinney.blogspot.de/2012/09/method-callers-in-xcode-44.html

0 голосов
/ 21 мая 2019

Xcode 10 вверх, кажется, сделал это проще. Просто Команда Нажмите на функции, и вы должны увидеть ее в выпадающем списке.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...