2011-03-28 18 views

Respuesta

30

Encuentra en el proyecto, aunque si estás buscando cambiar el nombre en todas partes, mejor sería usar el menú Refactorización.

EDITAR: Puede utilizar la Refactorización para encontrar dónde se hace referencia a una variable específica. Seleccione la variable y elija Editar-> Refactorizar-> Cambiar nombre. En la pantalla de refactorización, cambie el nombre de la variable (simplemente agregue _ al final o algo así) y haga clic en vista previa. mostrará en todas partes del proyecto que se hace referencia a esa variable. Haga clic en cada archivo para ver las líneas donde se llama la variable. Cuando hayas terminado, cancela el refactor.

+0

Estoy buscando entender los caminos del llamamiento, en realidad. Sí, yo uso el menú refactorización de cambio de nombre, etc..If usted lee mi comentario anterior, es por eso Encuentra en el proyecto no funciona para mí. Gracias por la respuesta. – aslisabanci

+0

editado mi respuesta. es una especie de un truco, pero hace el trabajo supongo –

+0

:..] Sí que puedo usar esto, buen truco – aslisabanci

2

La mejor manera es hacer una búsqueda de texto completo del proyecto: CMD-SHIFT-F.

+0

Pero asumir que tengo dos clases que tienen la variable insance llamado ID , y quiero saber las referencias a la variable de instancia de mi primera clase. Si hago una búsqueda completa, esto me dará los resultados relacionados con las dos clases. Es por eso que necesito un mecanismo de búsqueda diferente. Gracias por la respuesta, aunque ... – aslisabanci

+4

Sí, es extraño que XCode no sea compatible con los usos propios, semánticos y de búsqueda. La opción 'refactor' definitivamente hace esto, por lo que hacer un uso de hallazgos no debería ser demasiado difícil. – npellow

+0

Lamentablemente, esta suele ser mi solución predeterminada. Como resultado de ello he empezado a cambiar mis hábitos de programación para nombrar mis métodos únicos globales para facilitar este ... (faltan cambios coaccionar función de una IDE en mis hábitos de codificación :() – pretzels1337

19

Le recomiendo que pruebe appCode, por JetBrains. JetBrains tiene mucha experiencia en IDE (sí, incluso más que en Apple;) y ha realizado un trabajo increíble incluso con el EAP de appCode. Encuentra usos, además de mucho más funciona muy bien.

Puede simplemente abrir su archivo de proyecto xcode existente en appCode, luego Buscar -> Buscar usos.

+0

yay! ¡esas son buenas noticias! Pero sería mejor si fuera gratis :) – aslisabanci

+0

bueno, es gratis por ahora, así que entre rápidamente y encuentre los usos. Además, puede pagarse a largo plazo. – npellow

+0

:) yeap, lo descargué. Tal vez pueda preguntarle a mi compañía sobre esto después de esa prueba de 30 días. – aslisabanci

8

Como Casebash señala here, en realidad es una forma de búsqueda de símbolos en Xcode, pero por desgracia no es del todo intuitiva o convenientes para su uso.

Primero, abra el navegador de búsqueda (Cmd + Shift + F) y cambie el Style al Symbol References. Luego, escriba el nombre del símbolo en el cuadro de búsqueda (si solo se trata de un nombre de variable, puede seleccionarlo en el código y escribir Cmd-E para copiarlo en el campo de búsqueda). Si la búsqueda de un método, asegúrese de usar la notación de colon delimitado de este modo:

doSomethingForObject:withParameter:andOtherParameter: 

Ahora bien, si alguien pudiera convencer a Apple para simplemente añadir un elemento de menú contextual de esto, habría un campista feliz. :)

+0

jaja, sí, absolutamente:] – aslisabanci

2

Para los métodos y propiedades, sólo tiene que utilizar el menú de archivos relacionados como describo aquí: https://stackoverflow.com/a/17931752/1709587

Para las variables, no existe una manera fácil de encontrar referencias específicamente , per se (que necesita para use AppCode o el feo, lento y engorroso refactor hack), pero normalmente no debería hacerlo. Las variables de miembro público son raras en Objective-C, por lo que generalmente las variables solo se mencionan dentro del archivo en el que se declaran. Una búsqueda de texto sin formato para el nombre de la variable usando cmd + f debería ser suficiente, por lo general.

1

Creo que en lugar de hacer el hacha de refactor anterior. Una forma más rápida de encontrar referencias de variables de una clase en particular es cambiar el nombre de la variable (agregar una letra al final) en la clase de definición y pulsar compilar. El compilador le dará un error por cada lugar que haga referencia al nombre de la variable original.

@property (nonatomic, strong) NSString * url; 

convierte

@property (nonatomic, strong) NSString * urlt; 

y el compilador feliz que habla de todos los lugares que lo utiliza:

enter image description here

Cuestiones relacionadas