objective-c xcode pragma

objective c - ¿Cuál es el significado de las marcas#pragma? ¿Por qué necesitamos#pragma marcas?



objective-c xcode (7)

¿Cuál es el propósito de las marcas #pragma en Xcode? ¿Importa su ubicación en archivos .m ? ¿Debería algún #pragma venir antes que todos los demás?

  • ¿Tienen que estar presentes?
  • ¿Se pueden añadir nuevas marcas? ¿Por qué serían? ¿Qué lo causa?
  • ¿Hay algún daño en remover una marca? ¿Alguna vez querrías?

Al buscar doc para señalar cómo pragma son las directivas para el compilador, encontré este artículo de NSHipster que hace el trabajo bastante bien.

Espero que disfrutes la lectura


Cuando tenemos una clase grande / larga, digamos más de un par de 100 líneas de código que no podemos ver todo en la pantalla Monitor, por lo tanto, no podemos ver una descripción general (también llamada elementos de documentos) de nuestra clase. En algún momento queremos ver una visión general de nuestra clase; Son todos los métodos, constantes, propiedades, etc. de un vistazo. Puede presionar Ctrl + 6 en XCode para ver el resumen de su clase. Obtendrás un tipo de ventana emergente, también conocida como barra de salto.

De forma predeterminada, esta barra de salto no tiene ningún grupo / sección. Es sólo una larga lista. (Aunque podemos comenzar a escribir cuando aparece la barra de salto y buscaremos entre los elementos de la barra de salto). Aquí viene la necesidad de la pragma mark

Si desea crear secciones en su barra de salto, puede utilizar marcas pragma con una descripción relevante. Ahora consulte la instantánea adjunta en cuestión. Hay ''Ver ciclo de vida'' y ''Una sección dedicada ..'' son secciones creadas por pragma mark s


En pocas palabras, podemos decir que la #pragma mark - se usa para categorizar métodos, de modo que puede encontrar sus métodos fácilmente. Es muy útil para proyectos largos.


Solo para agregar la información que estaba buscando: pragma mark es específica de Xcode, por lo que si trata con un proyecto de C ++ que abre en diferentes IDE, no tendrá ningún efecto allí. En Qt Creator, por ejemplo, no agrega categorías para los 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í. Así que los compiladores también podrían ignorarlo.

Xcode es un IDE que aprovecha #pragma y lo usa de una manera específica. El punto es que #pragma no es Xcode e incluso es específico de Objective-C.


#pragma mark directivas #pragma mark aparecen en Xcode en los menús para acceso directo 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 una pragma mark - especial de pragma mark - que crea una línea.


#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 unas 1000 líneas y desee encontrar métodos rápidamente a través de la categoría desde el cuadro Salto.

En un programa largo, se hace difícil recordar y encontrar un nombre de método. Así que pragma mark le permite clasificar los métodos de acuerdo con el trabajo que realizan. Por ejemplo, ha etiquetado alguna etiqueta para los métodos de protocolo de vista de tabla, los métodos de AlertView, los métodos de inicio, la declaración, etc.

#pragma mark es la facilidad para XCode pero no tiene ningún impacto en su código. Simplemente ayuda a facilitar la búsqueda de métodos mientras se codifica.


#pragma mark - NSSecureCoding

El propósito 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.