2012-06-07 18 views
7

por qué veo @interface dos veces (dentro de los archivos .h y .m en estos archivos UIViewController que he creado. El que aparece en .m parece ser como un constructor. es?XCode 4.2 ¿por qué veo @interface dentro de los archivos .h y .m

archivo .h

@interface BlackTimer : UIViewController 


@end 

archivo .m

@interface ViewController() 

@end 
+0

posible duplicado de [Diferencia entre @interface definición en .h y archivo .m] (http://stackoverflow.com/questions/3967187/difference-between-interface-definition-in-h-and-m-file) –

Respuesta

7

por lo general en el archivo .m pones todas las declaraciones de métodos privados

Es un buen uso para escribir la palabra "privado" (o algo similar) de esta manera:

@interface ViewController (private) 

-(void)myPrivateMethod; 

@end 
+0

Aquí es otra pregunta relacionada con su comentario. – pasawaya

+0

Mejor: no hay nombre para esa categoría en absoluto, ya que tendrá una extensión de clase que, lo que funcionará mejor con el compilador. ver qegals respuesta. – vikingosegundo

7

El @interface en el archivo .m se llama una extensión de clase. Here es un buen enlace que lo explica. Espero que esto ayude. Y here es la documentación de Apple sobre las extensiones de clase.

-1

La definición @interface ViewController() en el archivo de implementación (.m) es una Categoría anónima. Permite definir ivars, propiedades y mensajes que implementa su clase sin exponerlos a otros objetos que importan su interfaz pública (.h).

Cuestiones relacionadas