33 votes

Comment créer une NSRange statique?

C'est vraiment une question stupide, mais je ne sais vraiment pas comment. J'ai une classe utilitaire et j'ai besoin de définir des variables prédéfinies. Voici à quoi ressemble ma classe.

 #pragma mark File header part definiation (start offset, length)
NSRange HEADER_VERSION = NSMakeRange(0, 4); /* 0,4 */
NSRange HEADER_IDENTIFIER = NSMakeRange(4, 18); /* 4, 18*/ 
...

@interface ParserUtil : NSObject {

}

/*Parse Paper instance from file*/
+(Paper*) parsePaper:(NSURL*)file;
@end
 

Le compilateur me dit que les deuxième et troisième lignes sont des erreurs:

l'initialiseur n'est pas constant.

Quelle est la meilleure pratique pour définir les variables?

61voto

Vladimir Points 110327

NSRange est un simple c-struct donc il peut être initialisé de la manière suivante:

 NSRange HEADER_VERSION = {0, 4};
 

ou

 NSRange HEADER_VERSION = {.location = 0, .length = 4};
 

Voir la section désignée dans le manuel de gcc pour plus de détails

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X