¿Cuál es el propósito de las #pragma
marcas en Xcode? ¿Importa su ubicación en los .m
archivos? ¿Deberían algunos #pragma
venir antes que todos los demás?
- ¿Tienen que estar presentes?
- ¿Se pueden agregar nuevas marcas? ¿Por qué estarían ellos? ¿Qué lo causa?
- ¿Hay algún daño en quitar una marca? ¿Alguna vez querría?
objective-c
xcode
pragma
James Raitsev
fuente
fuente
Respuestas:
#pragma mark
Las directivas aparecen en Xcode en los menús para acceder directamente a los métodos. No tienen ningún impacto en el programa en absoluto.Por ejemplo, usarlo con Xcode 4 hará que esos elementos aparezcan directamente en la barra de salto.
Hay un especial
pragma mark -
que crea una línea.fuente
#pragma mark
se usa para etiquetar el grupo de métodos para que pueda encontrar y detectar métodos fácilmente desde la barra de salto. Puede ayudarlo cuando sus archivos de código alcancen aproximadamente 1000 líneas y desee encontrar métodos rápidamente a través de la categoría desde el cuadro Saltar.En un programa largo se hace difícil recordar y encontrar el nombre de un método. Entonces, pragma mark le permite clasificar los métodos de acuerdo con el trabajo que realizan. Por ejemplo, etiquetó alguna etiqueta para Métodos de protocolo de vista de tabla, Métodos de AlertView, Métodos de inicio, Declaración, etc.
#pragma mark
es la facilidad para XCode pero no tiene impacto en su código. Simplemente ayuda a facilitar la búsqueda de métodos mientras se codifica.fuente
En palabras simples, podemos decir que
#pragma mark -
se usa para categorizar métodos, para que pueda encontrar sus métodos fácilmente. Es muy útil para proyectos largos.fuente
Solo para agregar la información que estaba buscando:
pragma mark
es específico de Xcode, por lo que si trata con un proyecto C ++ que abre en diferentes IDE, no tiene ningún efecto allí. En Qt Creator, por ejemplo, no agrega categorías para métodos, ni genera advertencias / errores.EDITAR
#pragma
es una directiva de preprocesador que proviene del lenguaje de programación C. Su propósito es especificar información dependiente de la implementación para el compilador, es decir, cada compilador podría elegir interpretar esta directiva como quiera. Dicho esto, se considera más bien una extensión que no cambia / influye en el código en sí. Entonces los compiladores podrían ignorarlo.Xcode es un IDE que lo aprovecha
#pragma
y lo utiliza de manera específica. El punto es#pragma
que no es Xcode e incluso Objective-C específico.fuente
Cuando tenemos una clase grande / larga que dice más de un par de 100 líneas de código, no podemos ver todo en la pantalla del Monitor, por lo tanto, no podemos ver una descripción general (también llamada elementos del documento) de nuestra clase. En algún momento queremos ver una visión general de nuestra clase; todos sus métodos, constantes, propiedades, etc. de un vistazo. Puede presionar Ctrl + 6 en XCode para ver una descripción general de su clase. Obtendrá un tipo de ventana emergente, también conocida como Jump Bar.
Por defecto, esta barra de salto no tiene ningún cubo / sección. Es solo una larga lista. (Aunque podemos comenzar a escribir cuando aparece la barra de salto y buscará entre los elementos de la barra de salto). Aquí viene la necesidad de
pragma mark
Si desea crear secciones en su Jump Bar, puede usar marcas de pragma con una descripción relevante. Ahora consulte la instantánea adjunta en cuestión. Allí 'Ver lifeCycle' y 'Una sección dedicada ...' son secciones creadas por
pragma mark
sfuente
Mientras buscaba un documento para señalar cómo pragma son directivas para el compilador, encontré este artículo de NSHipster que hace el trabajo bastante bien.
Espero que disfrutes la lectura
fuente
El objetivo principal de "pragma" es para referencia del desarrollador.
Puede encontrar fácilmente un método / función en miles de líneas de codificación.
Xcode 11+:
Línea de marcador en la parte superior
Línea de marcador en la parte superior e inferior
Línea de marcador solo en la parte inferior
fuente