In Xcode, come posso trovare tutte le funzioni del chiamante di una funzione specifica?
In Xcode, come posso trovare tutte le funzioni del chiamante di una funzione specifica?
Risposte:
Xcode 4.5 (in beta) ha questa funzionalità. quando evidenzi di dire ... una funzione, puoi selezionare "chiamante" e "chiamato"
modifica credo che si trovi in alto a sinistra del pannello dei file per quel file ... quindi fai doppio clic sulla funzione per evidenziarla e fai clic sulle opzioni del pannello dei file (quella che ha "apri recente, apri non salvato ... ecc "a discesa
MODIFICA # 2
ecco un'immagine per chiarire (dato che non so come si chiama questo pulsante del menu) :
INOLTRE - XCode 4.5 non è più beta, credo, ed è attualmente in pubblico
MODIFICA # 3
nota anche che questa cosa del chiamante NON cerca di essere chiamata con il performSelector
metodo, come in, il particolare chiamante che ha questo performSelector
non verrà visualizzato se hai fatto qualcosa come:
[self performSelector:@selector(checkIfShouldStopMovement) withObject:nil afterDelay:0.25];
In XCode 4.5, il metodo più veloce è questo:
Questa è la scorciatoia per andare su Visualizza-> Editor standard-> Mostra elementi correlati nel menu del titolo di XCode.
usa la combinazione di tasti ⌘ + Ctrl + Maiusc + H su XCode 7 in poi.
È possibile accedervi anche tramite l'assistente editor, come mostrato nello screenshot qui sotto. Qualunque sia il metodo in cui hai il punto di inserimento nell'editor principale a sinistra, i suoi chiamanti saranno visualizzati nell'assistente editor. Ho trovato che questo sia il modo migliore per esaminare ogni chiamante in successione, poiché una volta selezionato "Chiamanti", puoi selezionare il chiamante successivo tramite il menu a comparsa successivo a destra nella barra di scorrimento.
In Xcode-7 hai la funzionalità di ottenere call-heirerchy. Fare clic con il tasto destro sulla funzione e fare clic su "Trova gerarchia chiamate": riferimento immagine:
stampa ⌘+Ctrl+Shift+H
scorciatoia quando è selezionato un metodo di interesse (con un mouse o un cursore) (come da risposta di @uiroshan)
Ma puoi anche specificare qualsiasi altra scorciatoia in XCode -> Preferences -> Key Bindings
Stranamente lo strumento di refactoring può rilevare tutte le chiamate di metodo ma non la ricerca.
Quindi lo uso semplicemente per rinominare il mio metodo con un nome univoco (es. Reimposta su resetPlayer) e quindi uso il nuovo nome in una normale ricerca testuale.
1.) Menu> Modifica> Refactoring ...> Rinomina in nome univoco
2.) cerca il nuovo nome
La funzionalità è disponibile in XCode 4.4.1, vedere questo: http://smilingfinney.blogspot.de/2012/09/method-callers-in-xcode-44.html