Depurando con DLog

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í

 

 

Sofia Swidarowicz

I'm an iOS Software Engineer mostly. Known as phynet in the internez. I'm me, full of memory failure and lovely karma.

 

Leave a Reply

Your email address will not be published. Required fields are marked *