2013-03-15 13 views
21

Ich verwende #pragma mark für die Gruppierung meiner Methoden in bestimmten Kategorien. Aber das Problem ist in Xcode 4 meine erste Kategorie wird nicht angezeigt.#pragma markieren nicht den ersten Gruppennamen

Mein Code sieht so aus:

@interface MyClass : NSObject 

#pragma mark - 
#pragma mark Category 1 

//Some method declaration 

#pragma mark - 
#pragma mark Category 2 

//Some method declaration 

#pragma mark - 
#pragma mark Category 3 

//Some method declaration 
@end 

Aber wenn ich auf Xcode überprüfen Sie zeigt nur der Kategorien 2 und 3. Kategorie 1 dort nicht aufgeführt ist, überprüfen Sie bitte das Bild Pragma Issue

Gibt es irgendein Problem in meinem Code oder ist es ein Fehler in XCode?

+1

+1 Das ist mir nie aufgefallen !! – borrrden

+0

@borrrden: danke, anoops Antwort hat dieses Problem behoben. Fehler in Xcode auch :) –

Antwort

22

Ja, es ist ein Fehler hier.

Aber Sie können diesen Fehler Ihre Anforderung außer Kraft setzen, indem einfach {} in Ihrem Schnittstelle .h-Datei/ sowie in Implementierung/.m-Datei:

@implementation AppDelegate 
{} 

#pragma mark - 
#pragma mark Category 1 

-(void)awakeFromNib{ 

} 

Auch keine Notwendigkeit zwei pragma zu verwenden, können Sie beide in einem als kombinieren:

#pragma mark - Category 1 

enter image description here

+0

+1 Beat mich dazu. Es scheint, dass Xcode immer noch die alte Art des Schreibens von Klassen erwartet. Beachten Sie auch, dass dies auch für '@ interface' funktioniert (das ist der Code in der OP-Frage) – borrrden

+0

@borrrden: Ja, sogar für .h und .m hat das gleiche Problem, und in Eile habe ich in .m;) –

+0

Wollte nur darauf hinweisen, falls jemand sagen wollte "Hey, das ist die .m-Datei, nicht die .h-Datei !!" – borrrden

13

Ein weiterer sauberer Weg zu gehen: Fügen Sie einfach eine einfache ;.

@implementation AppDelegate; 

#pragma mark - Category 1 
+1

Danke für die Antwort. Es funktioniert auch :) –

+1

Ja das sieht besser aus als meiner;) –