2013-03-15 2 views
21

Sto usando #pragma mark per raggruppare i miei metodi in determinate categorie. Ma il problema è in Xcode 4 la mia prima categoria non viene visualizzata.#pragma mark che non elenca il nome del primo gruppo

mio codice è simile:

@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 

Ma quando verifico Xcode Esso mostra solo di categoria 2 e 3. La categoria 1 non è elencato lì, si prega di consultare l'immagine Pragma Issue

C'è qualsiasi problema nel mio codice o si tratta di un bug in XCode?

+1

+1 Non l'ho mai notato !! – borrrden

+0

@borrrden: grazie, la risposta di anoop ha risolto il problema. Bug in Xcode anche :) –

risposta

22

Sì, è un bug qui.

Ma è possibile ignorare questo bug il vostro requisito semplicemente aggiungendo {} nella tua interfaccia .h file/ così come in file/.m implementazione:

@implementation AppDelegate 
{} 

#pragma mark - 
#pragma mark Category 1 

-(void)awakeFromNib{ 

} 

Inoltre, non c'è bisogno utilizzare due # pragma, è possibile combinare entrambi in un unico come:

#pragma mark - Category 1 

enter image description here

+0

+1 Picchiami. Sembra che Xcode si aspetti ancora dal vecchio modo di scrivere classi. Si noti inoltre che questo funziona anche per '@ interface' (che è il codice nella domanda dell'OP) – borrrden

+0

@borrrden: Sì anche per .h e .m ha lo stesso problema, e in fretta ho fatto in .m;) –

+0

Volevo solo indicarlo nel caso qualcuno avesse voglia di dire "Ehi, quello è il file .m, non il file .h !!" – borrrden

13

Un altro modo pulito per andare: basta aggiungere un semplice ;.

@implementation AppDelegate; 

#pragma mark - Category 1 
+1

Grazie per la risposta. Funziona anche :) –

+1

Sì, questo è meglio del mio;) –