Найти ссылки на методы в Xcode - PullRequest
163 голосов
/ 22 августа 2011

Есть ли в Xcode способ найти все места, где был вызван метод или свойство?

Например, в Eclipse вы можете щелкнуть правой кнопкой мыши метод и выбрать Найти ссылки . Есть ли что-нибудь подобное в Xcode?

Ответы [ 7 ]

242 голосов
/ 29 июля 2013
  1. Выберите интересующий вас метод или поместите текстовый курсор внутри него.
  2. Откройте меню «Связанные файлы» с помощью значка в верхнем левом углу редактора. (Это кнопка слева от кнопки «Назад»).
  3. Перейдите в подменю «Callers» для получения списка всех методов, которые вызывают выбранный метод, и щелкните любой из них, чтобы перейти к этому файлу и методу.

В картинках ...

Screenshot of steps 1 and 2 above.

Screenshot of step 3 above

Пара заметок:

  • Вы можете сделать это и для свойств.
  • Обратите внимание, что когда вы выбираете метод вызова из меню Callers, чтобы перейти к тому месту, где был вызван ваш метод, Xcode выделяет только вызов first . Каждый вызывающий метод будет отображаться в списке «вызывающих» только один раз, даже если он содержит много вызовов вашего метода. Поэтому, если вы пытаетесь внести какие-либо изменения в каждое место вашего приложения, где вызывается метод, будьте осторожны, чтобы не пропустить некоторые из них в тех местах, где вызывающий метод содержит два вызова интересующего вас метода.
35 голосов
/ 13 июня 2013

Да, откройте редактор Assistant и вместо «коллег» выберите «Вызывающие абоненты».

enter image description here

18 голосов
/ 10 октября 2012

Начиная с XCode 4.5, вы можете нажать «Показать параметры поиска» в поле поиска навигатора поиска. Там вы можете указать «Ссылки на символы»

enter image description here

5 голосов
/ 19 марта 2016

Поместите курсор вставки в вызов метода или объявление и выберите «Найти»> «Найти выбранный символ в проекте».Для многокомпонентных селекторов это только выделит первую часть, но поиск, кажется, работает относительно надежно.Вы также можете использовать функцию Find Call Hierarchy, которая вместо этого выделяет всю строку.

Соответствующий пункт контекстного меню (Find Selected Symbol in Workspace) также работает, но немного сложнее заставить работать должным образом.Убедитесь, что текст не выделен, иначе он будет искать выбранное слово, а не весь селектор.Для этого вы можете щелкнуть левой кнопкой мыши, прежде чем щелкнуть правой кнопкой мыши (или удерживая нажатой клавишу «Control») в том же месте.Нет такой проблемы с контекстной иерархией поиска вызовов.

1 голос
/ 10 августа 2018

Выберите функцию, нажмите cmd-shift-A, «Абоненты»

enter image description here

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

В качестве альтернативы вы можете найти все ссылки на переменную или метод в Xcode 9, используя Find navigator и установить его как Find -> References -> Matching Word

Пользовательский интерфейс выглядит как

enter image description here

0 голосов
/ 22 августа 2012

С xcode 4 вы можете теперь щелкнуть правой кнопкой мыши по ссылкам и выбрать «перейти к определению».

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