Muchas veces, sino siempre, es necesario realizar depuraciones en nuestro código para determinar si hemos hecho las cosas bien o no, y básicamente para imprimir en la consola los valores que nos interesa observar. En Objective-C existe una forma, la tradicional de depurar que es usando la macro NSLog
NSLog(@"Bla blah");
NSLOG seguirá mostrando información en consola, aunque activemos la opción DEBUG (debug flag). Para evitar esto, existe la opción para debug llamada DLOG, que es otro macro que dejará de imprimir en consola cuando la bandera DEBUG este desactivada. De este modo, podremos dejar nuestros comentarios DLOG si desactivamos el modo debug.
Basta simplemente con hacer una cabecera (.h) (que yo llamare Macros.h) con el siguiente código:
#ifdef DEBUG #define DLog(...) NSLog(@"%s %@", __PRETTY_FUNCTION__, [NSString stringWithFormat:__VA_ARGS__]) #else #define DLog(...) do { } while (0) #endif
y para usarlo en todo el proyecto, simplemente importalo al archivo
MyProjectExample-Prefix.pch
que se vería así
// // Prefix header for all source files of the 'ProjectExample' target in the 'ProjectExample' project // #import #ifndef __IPHONE_4_0 #warning "This project uses features only available in iOS SDK 4.0 and later." #endif #ifdef __OBJC__ #import <UIKit/UIKit.h> #import <Foundation/Foundation.h> #import "Macros.h" #endif
Ahora intenta emplearlo de la misma forma que con el NSLog. ¿Qué tal?
Dejo el código fuente para que lo veas mejor: aquí