your tag manager googletagmanager google from for container apps objective-c

objective c - tag - ¿Pones#import s en archivos.h o.m?



pod googletagmanager (1)

SIEMPRE debería # #import otras clases en su archivo .m .

Si también son miembros de su clase, puede reenviarlos (utilizando la directiva @class ) en su archivo .h .

La razón para hacer esto es porque cuando #import un archivo .h , solo quieres importar declaraciones , no definiciones . Al usar @class y solo @class en archivos .m , está a) reduciendo los gastos generales y b) hace que el código sea más limpio.

Otra razón por la que deberías hacerlo de esta manera fue señalada por Matt Gallagher :

El razonamiento detrás de las declaraciones en los archivos de cabecera es que evita las dependencias innecesarias. es decir, Imagine Bh adelante declara que A y Bm importan Ah Entonces imagina Cm, Dm, Em y Fm importan Bh Después de todo esto, Ah cambia. Dado que A solo se declara hacia adelante en Bh, solo Bm necesita reconstruirse. Sin declaraciones hacia adelante, Cm, Dm, Em y Fm tendrían que reconstruirse si A cambia

Ejemplo:

archivo .h :

@class BarClass; @interface FooClass : NSObject ... @end

archivo .m

#import "BarClass.h" @implementation FooClass ... @end

Me pregunto sobre el estilo Objective-C.

Tengo FooClass. [Hm] que depende de BarClass. [Hm] para su implementación (aunque no para su interfaz). Puedo #import "BarClass.h" directamente en FooClass.m o indirectamente a través de FooClass.h. Me pregunto acerca de la elección común para esto.