A propósito, anexei uma imagem à minha resposta. e as versões XCode hoje em dia suportam isso. você estaria disposto a votar / aceitar uma resposta, se estiver satisfeito com alguma das respostas?
David T.
A resposta de @uiroshan abaixo é mais conveniente se você fizer isso com
frequência
Respostas:
125
O Xcode 4.5 (em beta) tem essa funcionalidade. ao destacar, digamos ... uma função, você pode verificar o "chamador" e o "receptor"
editar, acredito que esteja localizado no canto superior esquerdo do painel de arquivo desse arquivo ... então clique duas vezes na função para realçá-la e clique nas opções do painel de arquivo (aquele que tem o "abrir recente, abrir não salvo ... etc "drop down
EDITAR # 2
aqui está uma imagem para esclarecer (já que eu não sei como esse botão de menu é chamado) :
TAMBÉM - XCode 4.5 não é mais beta, eu acredito, e está realmente disponível ao público
EDITAR # 3
Observe também que esse chamador NÃO pesquisa por ser chamado no performSelectormétodo, como em, o chamador específico que tem isso performSelectornão aparecerá se você tiver feito algo como:
@pille Ah. Eu vejo, eu não sabia que você pode acessá-lo dessa forma. Eu votei sua resposta e editei minha resposta para mostrar o caminho da IU. Obrigado pelo atalho !!
David T.
55
No XCode 4.5, o método mais rápido é este:
Selecione o método no código (clique duas vezes ou marque com o cursor do mouse)
Pressione Ctrl+1
Selecione "Chamadores" no menu pop-up.
Este é o atalho para ir Exibir-> Editor padrão-> Mostrar itens relacionados no menu de título do XCode.
O menu Chamadores também é sensível ao contexto, portanto, você não precisa selecionar o método primeiro. Basta colocá-lo em qualquer lugar dentro do método que você deseja ver os chamadores antes de chamar o atalho <kbd> Ctrl </kbd> + <kbd> 1 </kbd>.
Jay
Legal, não sabia disso!
pille
2
Não acredito que não haja maneira mais rápida ... Estou bastante decepcionado com o Xcode depois de usar o IntelliJ
stevo.mit
35
use a combinação de teclas ⌘ + Ctrl + Shift + H no XCode 7 em diante.
Caso você tenha editado seus atalhos: pesquise "Find call hierarchy"
brainray
4
Vou quebrar meus dedos para apertar essa combinação!
Accid Bright
Obrigado, estou procurando esse tipo de solução.
Hitesh Agarwal
23
Ele também pode ser acessado por meio do editor assistente, conforme mostrado na imagem abaixo. Qualquer método em que você tenha o ponto de inserção no editor principal à esquerda, terá seus chamadores exibidos no editor assistente. Descobri que esta é a melhor maneira de examinar cada chamador em sucessão, pois, depois de selecionar "Chamadores", você pode selecionar o próximo chamador por meio do próximo menu pop-up à direita na barra de salto.
Isso é ótimo - mas demorei um pouco para descobrir como começar. Para outros me seguindo: observe que na captura de tela de Brian, o menu suspenso aberto não é o menu "Mostrar itens relacionados" (ctrl + 1) mencionado em algumas outras respostas. Em vez disso, no editor assistente, clique no menu suspenso à direita do botão "Avançar" e escolha Chamadores.
Ashley
1
Você não precisa usar o editor assistente. Você pode abrir o mesmo menu no editor principal.
funroll de
18
No Xcode-7 você tem a funcionalidade de obter call-heirerchy. Clique com o botão direito na função e clique em "Localizar hierarquia de chamada":
referência da imagem:
Eu pessoalmente uso ⌘ + H (você terá que cancelar a atribuição de 'Ocultar XCode' primeiro. Basta digitar "Ocultar" na caixa Filtro, selecionar e excluir com Backspace)
drpawelo
2
Estranhamente, a ferramenta de refatoração pode detectar todas as chamadas de método, mas não a pesquisa.
Então, eu simplesmente o uso para renomear meu método com um nome exclusivo (por exemplo, redefinir para resetPlayer) e, em seguida, uso o novo nome em uma pesquisa textual normal.
1.) Menu> Editar> Refatorar ...> Renomear para um nome exclusivo
Respostas:
O Xcode 4.5 (em beta) tem essa funcionalidade. ao destacar, digamos ... uma função, você pode verificar o "chamador" e o "receptor"
editar, acredito que esteja localizado no canto superior esquerdo do painel de arquivo desse arquivo ... então clique duas vezes na função para realçá-la e clique nas opções do painel de arquivo (aquele que tem o "abrir recente, abrir não salvo ... etc "drop down
EDITAR # 2
aqui está uma imagem para esclarecer (já que eu não sei como esse botão de menu é chamado) :
TAMBÉM - XCode 4.5 não é mais beta, eu acredito, e está realmente disponível ao público
EDITAR # 3
Observe também que esse chamador NÃO pesquisa por ser chamado no
performSelector
método, como em, o chamador específico que tem issoperformSelector
não aparecerá se você tiver feito algo como:fonte
No XCode 4.5, o método mais rápido é este:
Este é o atalho para ir Exibir-> Editor padrão-> Mostrar itens relacionados no menu de título do XCode.
fonte
use a combinação de teclas ⌘ + Ctrl + Shift + H no XCode 7 em diante.
fonte
Ele também pode ser acessado por meio do editor assistente, conforme mostrado na imagem abaixo. Qualquer método em que você tenha o ponto de inserção no editor principal à esquerda, terá seus chamadores exibidos no editor assistente. Descobri que esta é a melhor maneira de examinar cada chamador em sucessão, pois, depois de selecionar "Chamadores", você pode selecionar o próximo chamador por meio do próximo menu pop-up à direita na barra de salto.
fonte
No Xcode-7 você tem a funcionalidade de obter call-heirerchy. Clique com o botão direito na função e clique em "Localizar hierarquia de chamada": referência da imagem:
fonte
O Xcode 10 para cima parece ter facilitado. Apenas Command Clique na função e você deverá vê-la no menu suspenso.
fonte
Use Encontrar no Projeto como Texto ou como Símbolo.
AFAIK, não há equivalente, por exemplo, a Hierarquia de chamadas conhecida do Eclipse ou NetBeans.
fonte
Pressione o
⌘+Ctrl+Shift+H
atalho quando um método de interesse for selecionado (com um mouse ou cursor). (conforme a resposta de @uiroshan)Mas você também pode especificar qualquer outro atalho em
XCode -> Preferences -> Key Bindings
fonte
Estranhamente, a ferramenta de refatoração pode detectar todas as chamadas de método, mas não a pesquisa.
Então, eu simplesmente o uso para renomear meu método com um nome exclusivo (por exemplo, redefinir para resetPlayer) e, em seguida, uso o novo nome em uma pesquisa textual normal.
1.) Menu> Editar> Refatorar ...> Renomear para um nome exclusivo
2.) pesquise o novo nome
fonte
A funcionalidade está disponível no XCode 4.4.1, consulte: http://smilingfinney.blogspot.de/2012/09/method-callers-in-xcode-44.html
fonte