Preprocessor directives, logs et fonctions
Bonjour,
je souhaite désactiver tous les NSLog d'une classe.
En m'inspirant des posts sur ce sujet (comme http://forum.cocoacafe.fr/topic/9378-vos-macros-les-plus-utiles/page-3?hl=+macro%20+utiles), j'ai essayé de faire cela mais ça ne marche pas. Je connais très mal tout ce qui est preprocessor directives ainsi que les fonctions (non objet-oriented).
// MyClass.m
//
// tout en haut après les #import mais avant les @interface et @implementation
#define DEBUGING_GenericItemController 1
#undef MyLogDebuging//(frmt, ...)
#if (DEBUGING_GenericItemController)
#define MyLogDebuging(frmt, ...) NSLog(frmt, ...)
#else
#define MyLogDebuging(frmt, ...)
#endif
L'erreur indiquée est :
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
C'est peut-être le #define qui n'est pas bien déclaré.
Essai ça
ou
EDIT: Correction de la boulette...
Merci ! Malheureusement, ça ne marche pas
Voici l'erreur qu'il renvoie.
Dans le code de Lexxis, remplace "__VA_ARGS" par "__VA_ARGS__", ou utilise sa 2e proposition, et ça devrait marcher.
Pour plus d'informations : http://gcc.gnu.org/onlinedocs/cpp/Variadic-Macros.html
Super ça marche !
(pour la deuxième solution j'avais dû oublier les ##)
Voici un code qui marche pour ceux qui sont intéressés.