2013-03-15 43 views
21

Używam #pragma mark do grupowania moich metod pod pewnymi kategoriami. Ale problem jest w Xcode 4 moja pierwsza kategoria nie jest wyświetlana.# znak uprzywilejowania nie wymienia pierwszej nazwy grupy

Mój kod wygląda następująco:

@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 

Ale kiedy sprawdzić Xcode Wyświetla tylko kategorii 2 i 3. Kategoria 1 nie znajduje się na liście, proszę sprawdzić obraz Pragma Issue

Czy istnieje każdy problem w moim kodzie lub jest to błąd w XCode?

+1

+1 Nigdy tego nie zauważyłem !! – borrrden

+0

@borrrden: dziękuję, odpowiedź anoopa rozwiązała ten problem. Błąd w Xcode również :) –

Odpowiedz

22

Tak, tutaj jest błąd.

Ale można zastąpić ten błąd zapotrzebowania po prostu dodając {} w interfejsie plik .h/ jak również w realizacja plik/.m:

@implementation AppDelegate 
{} 

#pragma mark - 
#pragma mark Category 1 

-(void)awakeFromNib{ 

} 

Ponadto, nie ma potrzeby użycie dwóch #pragma, można połączyć zarówno z nich w jednym jak:

#pragma mark - Category 1 

enter image description here

+0

+1 Pokonaj mnie. Wygląda na to, że Xcode wciąż oczekuje starego sposobu pisania klas. Zauważ również, że działa to również dla '@ interface' (co jest kodem w pytaniu OP). – borrrden

+0

@borrrden: Tak, nawet dla .h i .m ma ten sam problem, a spieszyłem się w .m;) –

+0

Chciałem tylko wskazać to na wypadek, gdyby ktoś miał ochotę powiedzieć "Hej, to jest plik .m, a nie plik .h !!" – borrrden

13

Kolejny prosty sposób: wystarczy dodać prosty ;.

@implementation AppDelegate; 

#pragma mark - Category 1 
+1

Dzięki za odpowiedź. To też działa :) –

+1

Tak to wygląda lepiej niż moje;) –