2012-06-07 4 views
7

Warum sehe ich @interface zweimal (in .h und .m Dateien in diesen UIViewController Dateien, die ich erstellt habe. Die in der .m scheint wie ein Konstruktor zu sein. ist es?XCode 4.2 warum sehe ich @interface sowohl in .h als auch in .m files

.h-Datei

@interface BlackTimer : UIViewController 


@end 

.m-Datei

@interface ViewController() 

@end 
+0

möglich Duplikat [Differenz zwischen @interface Definition in .h und .m-Datei] (http://stackoverflow.com/questions/3967187/difference-between-interface-definition-in-h-and-m-file) –

Antwort

7

in der Regel in der .m-Datei, um die Erklärungen alle für private Methoden setzen

es ist eine gute Verwendung, das Wort „privat“ (oder so ähnlich) wie folgt zu schreiben:

@interface ViewController (private) 

-(void)myPrivateMethod; 

@end 
+0

hier ist eine andere Frage SO auf Ihren Kommentar bezogen. – pasawaya

+0

Besser: Kein Name für diese Kategorie, da Sie eine Klassenerweiterung haben werden, was besser mit dem Compiler funktioniert. Siehe qegals Antwort. – vikingosegundo

7

Die @interface in der .m-Datei ist eine Klassenerweiterung bezeichnet. Here ist ein guter Link, der es erklärt. Hoffe das hilft. Und here ist die Apple-Dokumentation für Klassenerweiterungen.

-1

Die @interface ViewController() Definition in der Implementierungsdatei (.m) ist eine anonyme Kategorie. Es ermöglicht das Definieren von Ivars, Eigenschaften und Nachrichten, die Ihre Klasse implementiert, ohne sie anderen Objekten zu zeigen, die Ihre öffentliche Schnittstelle (.h) importieren.

Verwandte Themen