33 votes

Impression d'une NSString

Quelle est la bonne façon d'imprimer un NSString en Objective-C ? Beaucoup d'exemples utilisent NSLog(), mais d'après la documentation :

NSLog est une fonction FoundationKit qui permet d'imprimer des instructions de débogage sur la console. ... NSLog fonctionne essentiellement comme : fprintf(stderr, format_string, args ...) ;

Ce qui, pour moi, ressemble un peu à la macro _TRACE dans Win32/C++. Je ne veux pas imprimer sur stderr, je veux imprimer sur stdout. Certaines personnes suggèrent d'utiliser printf() comme suit :

printf("%s", [str cStringUsingEncoding:NSUTF8StringEncoding]);

Mais cela semble être un niveau supplémentaire d'indirection pour obtenir l'impression de NSString, et cela ne semble pas être la solution.

0voto

LavaSlider Points 1617

C'est ce que je fais :

define NSPrintf(...)   printf( "%s", [[NSString stringWithFormat: __VA_ARGS__] UTF8String] )

Je peux alors l'utiliser comme :

NSPrintf( @"Sorry %@, I can't do that\n", name );

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