Как в Xcode найти все вызывающие функции определенной функции?
Как в Xcode найти все вызывающие функции определенной функции?
Ответы:
Xcode 4.5 (в бета-версии) имеет эту функциональность. когда вы выделяете say ... функцию, вы можете проверить "вызывающий" и "вызываемый"
редактировать, я считаю, что он расположен в верхнем левом углу файловой панели для этого файла ... поэтому дважды щелкните функцию, чтобы выделить ее, и нажмите на параметры панели файлов (тот, который имеет "открытые недавние, открытые несохраненные ... и т.д. "
РЕДАКТИРОВАТЬ # 2
вот изображение для пояснения (так как я не знаю, как называется эта кнопка меню) :
ТАКЖЕ - XCode 4.5 больше не является бета-версией, я полагаю, и на самом деле публично
РЕДАКТИРОВАТЬ # 3
также обратите внимание, что этот вызывающий объект НЕ выполняет поиск вызываемого по performSelector
методу, так как конкретный вызывающий объект, у которого это есть performSelector
, не появится, если вы сделали что-то вроде:
[self performSelector:@selector(checkIfShouldStopMovement) withObject:nil afterDelay:0.25];
В XCode 4.5 самый быстрый способ таков:
Это ярлык для перехода в меню View-> Standard Editor-> Show Related Items в меню заголовка XCode.
используйте комбинацию клавиш ⌘ + Ctrl + Shift + H в XCode 7 и далее.
Это также можно получить через помощник редактора, как показано на скриншоте ниже. В каком бы методе вы не установили точку вставки в главном редакторе слева, вызывающие его объекты будут отображаться в помощнике редактора. Я обнаружил, что это лучший способ просмотра каждого вызывающего абонента по очереди, поскольку после того, как вы выбрали «вызывающие абоненты», вы можете выбрать следующего вызывающего абонента через следующее всплывающее меню справа на панели перехода.
В Xcode-7 у вас есть функция получения иерархии вызовов. Щелкните функцию правой кнопкой мыши и выберите «Найти иерархию вызовов»: ссылка на изображение:
Нажмите ⌘+Ctrl+Shift+H
сочетание клавиш, когда выбран интересующий метод (с помощью мыши или курсора). (согласно ответу @uiroshan)
Но вы также можете указать любой другой ярлык в XCode -> Preferences -> Key Bindings
Как ни странно, инструмент рефакторинга может обнаруживать все вызовы методов, но не поиск.
Поэтому я просто использую его, чтобы переименовать свой метод в уникальное имя (например, сбросить на resetPlayer), а затем использовать новое имя в обычном текстовом поиске.
1.) Меню> Правка> Рефакторинг ...> Переименовать в уникальное имя
2.) поиск нового имени
Функциональность доступна в XCode 4.4.1, см. Это: http://smilingfinney.blogspot.de/2012/09/method-callers-in-xcode-44.html