Xcode знайти функції виклику


117

Як у Xcode я можу знайти всі функції виклику певної функції?


2
До речі, я додав зображення до своєї відповіді. На сьогодні це підтримують версії XCode. Чи бажаєте ви прийняти / прийняти відповідь, якщо вас влаштовує будь-яка з відповідей ??
Девід Т.

Відповідь @uiroshan нижче найзручніша, якщо ви робите це багато (⌘ + Ctrl + Shift + H)
drpawelo

Відповіді:


125

Xcode 4.5 (у бета-версії) має цю функціональність. коли ви виділяєте сказати ... функцію, ви можете перевірити "абонента" та "виклику"

редагувати, я вважаю, що він розташований у верхньому лівому куті файлової панелі для цього файлу ... тому двічі клацніть на функції, щоб виділити її, і ви натисніть на параметри панелі файлів (той, який має "відкритий останній, відкритий незбережений ... тощо "

ЗРІД №2

ось малюнок для уточнення (оскільки я не знаю, як називається ця кнопка меню) введіть тут опис зображення:

ТАКОЖ - Я вважаю, що XCode 4.5 вже не є бета-версією, і фактично знаходиться на публіці

ЗРІД №3

також зауважте, що ця річ абонента НЕ шукає для виклику за performSelectorметодом, як у, конкретний абонент, який має це performSelector, не з’явиться, якщо ви зробили щось на кшталт:

[self performSelector:@selector(checkIfShouldStopMovement) withObject:nil afterDelay:0.25];

5
Це насправді Перегляд-> Стандартний редактор-> Показати пов'язані елементи, дивіться мою відповідь ( stackoverflow.com/a/13472334/888091 ).
стовп

2
@pille Ах. Я бачу, я не знав, що ти можеш отримати доступ до нього таким чином. Я підтримав вашу відповідь, і я відредагував свою відповідь, щоб показати спосіб користувальницького інтерфейсу. Дякую за ярлик !!
Девід Т.

55

У XCode 4.5 найшвидший метод такий:

  1. Виберіть метод у коді (подвійне клацання або позначте за допомогою курсору миші)
  2. Натисніть Ctrl+1
  3. У спливаючому меню виберіть "Клієнти".

Це ярлик для перегляду Перегляд-> Стандартний редактор-> Показати супутні елементи в меню заголовка XCode.


1
Меню "Абонентів" також залежно від контексту, тому вам не потрібно спочатку вибирати метод. Просто розмістіть його в будь-якому місці методу, для якого ви хочете побачити абонентів, перш ніж викликати ярлик <kbd> Ctrl </kbd> + <kbd> 1 </kbd>.
Джей

Солодкий, не знав цього!
стовп

2
Я не можу повірити, що немає швидшого шляху ... Я дуже розчарований Xcode після використання IntelliJ
stevo.mit

35

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


2
Прекрасне рішення. Дякую!
Мікстік

Курсор повинен бути назви функції.
Алі Момен Сані

Якщо ви редагували ярлики, знайдіть "Знайти ієрархію викликів"
мозковий масив

4
Я зламаю пальці, щоб натиснути цю комбінацію!
Accid Bright

Дякую, я шукаю таке рішення.
Хітеш Агарвал

23

Доступ також можна отримати через помічник редактора, як показано на скріншоті нижче. Незалежно від способу введення точки головного редактора зліва, його виклики відображатимуться у помічнику редактора. Я вважав, що це найкращий спосіб переглядати кожного абонента поспіль, оскільки після того, як ви вибрали "Абонентів", ви можете вибрати наступного абонента через наступне спливаюче меню праворуч на панелі стрибків.

введіть тут опис зображення


Це чудово - але мені знадобилося певний час, щоб зрозуміти, як розпочати роботу. Для інших слідувати за мною: Зверніть увагу , що на скріншоті Брайана, відкрита випадає НЕ (+ 1 Ctrl) меню «Показати пов'язані елементи» згадується в деяких інших відповідях. Натомість у помічнику редактора натисніть спадне меню праворуч від кнопки "Перейти вперед" та виберіть Клієнти.
Ешлі

1
Вам не потрібно використовувати помічник редактора. Це ж меню можна відкрити в основному редакторі.
funroll

18

У Xcode-7 ви маєте функціональну здатність отримувати спадкоємний виклик. Клацніть правою кнопкою миші функцію та натисніть «Знайти ієрархію викликів»: посилання на зображення:


4
вона називається "Ієрархія дзвінків", а комбінація клавіш: CTRL-SHIFT-COMMAND-H (поки щось вибрано).
Містер Зістем

7

Xcode 10 вгору, здається, полегшив. Просто команда Натисніть на функцію, і ви повинні побачити її у спадному меню.

введіть тут опис зображення


4

Використовуйте Знайти в проекті як текст або як символ.

AFAIK, немає еквівалента, наприклад, Ієрархії викликів, відомих Eclipse або NetBeans.


1
У xCode є "caller" та "callee".

4

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

Але ви також можете вказати будь-який інший ярлик в XCode -> Preferences -> Key Bindings

Виберіть метод і використовуйте ⌘ + Ctrl + Shift + H.  Але ви також можете вказати інший ярлик у XCode -> Налаштування -> Прив'язки клавіш


1
Я особисто використовую ⌘ + H (вам доведеться спочатку переключити функцію "Приховати XCode". Просто введіть "Сховати" у поле "Фільтр", виберіть її та видаліть за допомогою Backspace)
drpawelo

2

Як не дивно, інструмент рефакторингу може виявити всі виклики методів, але не пошук.

Тому я просто використовую його для перейменування свого методу на унікальне ім'я (наприклад, скидання на resetPlayer), а потім використовую нове ім'я в звичайному текстовому пошуку.

1.) Меню> Редагувати> Рефактор ...> Перейменувати унікальне ім'я

2.) пошук нового імені


Ви також можете просто переглянути всі місця, які були б змінені в попередньому перегляді, фактично не закінчуючи операцію рефактора.
funroll

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.