Por cierto, adjunté una imagen a mi respuesta. y las versiones XCode hoy en día lo admiten. ¿Estaría dispuesto a votar a favor / aceptar una respuesta, si está satisfecho con alguna de las respuestas?
David T.
La respuesta de @uiroshan a continuación es más conveniente si hace esto mucho (⌘ + Ctrl + Shift + H)
drpawelo
Respuestas:
125
Xcode 4.5 (en beta) tiene esta funcionalidad. cuando resaltas decir ... una función, puedes marcar el "llamador" y el "destinatario"
editar Creo que está ubicado en la parte superior izquierda del panel de archivos para ese archivo ... así que haga doble clic en la función para resaltarlo, y haga clic en las opciones del panel de archivos (la que tiene el "abrir reciente, abrir sin guardar ... etc "desplegable
EDITAR # 2
aquí hay una imagen para aclarar (ya que no sé cómo se llama este botón de menú) :
TAMBIÉN - XCode 4.5 ya no es beta, creo, y en realidad está en público
EDITAR # 3
También tenga en cuenta que esta cosa de la persona que llama NO busca ser llamada bajo el performSelectormétodo, como en, la persona que llama en particular que tiene esteperformSelector no aparecerá si hubiera hecho algo como:
@pille Ah. Ya veo, no sabía que pudieras acceder a él de esa manera. He votado a favor tu respuesta y he editado mi respuesta para mostrar la forma de la interfaz de usuario. ¡Gracias por el atajo!
David T.
55
En XCode 4.5, el método más rápido es este:
Seleccione el método en el código (haga doble clic o marque con el cursor del mouse)
Presione Ctrl+1
Seleccione "Personas que llaman" en el menú emergente.
Este es el atajo para ir a Ver-> Editor estándar-> Mostrar elementos relacionados en el menú de título de XCode.
El menú Llamadas también es sensible al contexto, por lo que no es necesario que seleccione el método primero. Simplemente colóquelo en cualquier lugar dentro del método para el que desea ver a los llamadores antes de invocar el acceso directo <kbd> Ctrl </kbd> + <kbd> 1 </kbd>.
Jay
¡Dulce, no sabía eso!
pille
2
No puedo creer que no haya una forma más rápida ... Estoy bastante decepcionado con Xcode después de usar IntelliJ
stevo.mit
35
use la combinación de teclas ⌘ + Ctrl + Shift + H en XCode 7 en adelante.
En caso de que haya editado sus atajos: busque "Buscar jerarquía de llamadas"
brainray
4
¡Me romperé los dedos para presionar esta combinación!
Accid Bright
Gracias, estoy buscando este tipo de solución.
Hitesh Agarwal
23
También se puede acceder a esto a través del editor asistente, como se muestra en la captura de pantalla a continuación. Cualquiera que sea el método en el que tenga el punto de inserción en el editor principal a la izquierda, sus llamantes se mostrarán en el editor asistente. Descubrí que esta es la mejor manera de ver cada persona que llama en sucesión, ya que una vez que haya seleccionado "Personas que llaman", puede seleccionar la siguiente persona que llama a través del siguiente menú emergente a la derecha en la barra de salto.
Esto es genial, pero me tomó un tiempo descubrir cómo empezar. Para otros que me siguen: observe que en la captura de pantalla de Brian, el menú desplegable abierto no es el menú "Mostrar elementos relacionados" (ctrl + 1) mencionado en algunas otras respuestas. En su lugar, en el editor asistente, haga clic en el menú desplegable a la derecha del botón "Avanzar" y seleccione Personas que llaman.
Ashley
1
No es necesario utilizar el editor asistente. Puede abrir el mismo menú en el editor principal.
funroll
18
En Xcode-7 tiene la funcionalidad de obtener heirerquía de llamadas. Haga clic con el botón derecho en la función y haga clic en "Buscar jerarquía de llamadas":
referencia de imagen:
Yo personalmente uso ⌘ + H (primero tendrá que cambiar la desasignación de 'Ocultar XCode'. Simplemente escriba "Ocultar" en el cuadro Filtro, selecciónelo y elimínelo con Retroceso)
drpawelo
2
Curiosamente, la herramienta de refactorización puede detectar todas las llamadas a métodos, pero no la búsqueda.
Así que simplemente lo uso para cambiar el nombre de mi método a un nombre único (por ejemplo, restablecer a resetPlayer) y luego usar el nuevo nombre en una búsqueda textual regular.
1.) Menú> Editar> Refactorizar ...> Cambiar nombre a nombre único
Respuestas:
Xcode 4.5 (en beta) tiene esta funcionalidad. cuando resaltas decir ... una función, puedes marcar el "llamador" y el "destinatario"
editar Creo que está ubicado en la parte superior izquierda del panel de archivos para ese archivo ... así que haga doble clic en la función para resaltarlo, y haga clic en las opciones del panel de archivos (la que tiene el "abrir reciente, abrir sin guardar ... etc "desplegable
EDITAR # 2
aquí hay una imagen para aclarar (ya que no sé cómo se llama este botón de menú) :
TAMBIÉN - XCode 4.5 ya no es beta, creo, y en realidad está en público
EDITAR # 3
También tenga en cuenta que esta cosa de la persona que llama NO busca ser llamada bajo el
performSelector
método, como en, la persona que llama en particular que tiene esteperformSelector
no aparecerá si hubiera hecho algo como:fuente
En XCode 4.5, el método más rápido es este:
Este es el atajo para ir a Ver-> Editor estándar-> Mostrar elementos relacionados en el menú de título de XCode.
fuente
use la combinación de teclas ⌘ + Ctrl + Shift + H en XCode 7 en adelante.
fuente
También se puede acceder a esto a través del editor asistente, como se muestra en la captura de pantalla a continuación. Cualquiera que sea el método en el que tenga el punto de inserción en el editor principal a la izquierda, sus llamantes se mostrarán en el editor asistente. Descubrí que esta es la mejor manera de ver cada persona que llama en sucesión, ya que una vez que haya seleccionado "Personas que llaman", puede seleccionar la siguiente persona que llama a través del siguiente menú emergente a la derecha en la barra de salto.
fuente
En Xcode-7 tiene la funcionalidad de obtener heirerquía de llamadas. Haga clic con el botón derecho en la función y haga clic en "Buscar jerarquía de llamadas": referencia de imagen:
fuente
Xcode 10 hacia arriba parece haberlo hecho más fácil. Simplemente Comando Haga clic en la función y debería verla en el menú desplegable.
fuente
Utilice Buscar en el proyecto como texto o como símbolo.
AFAIK, no hay equivalente a, por ejemplo, Call Hierarchy conocido de Eclipse o NetBeans.
fuente
Presione el
⌘+Ctrl+Shift+H
atajo cuando se seleccione un método de interés (con un mouse o cursor). (según la respuesta de @uiroshan)Pero también puede especificar cualquier otro atajo en
XCode -> Preferences -> Key Bindings
fuente
Curiosamente, la herramienta de refactorización puede detectar todas las llamadas a métodos, pero no la búsqueda.
Así que simplemente lo uso para cambiar el nombre de mi método a un nombre único (por ejemplo, restablecer a resetPlayer) y luego usar el nuevo nombre en una búsqueda textual regular.
1.) Menú> Editar> Refactorizar ...> Cambiar nombre a nombre único
2.) busca el nuevo nombre
fuente
La funcionalidad está disponible en XCode 4.4.1, consulte esto: http://smilingfinney.blogspot.de/2012/09/method-callers-in-xcode-44.html
fuente