Portal: Still Alive

This was a triumph. I'm making a note here: HUGE SUCCESS, It's hard to overstate my satisfaction. Aperture Science: We do what we must because we can for the good of all of us except for the ones who are dead, but there's no sense crying over every mistake. You just keep on trying 'till you run out of cake and the science gets done and you make a neat gun for the people who are still alive.

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

1
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:

1
2
3
4
5
6
7
8
9
#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

1
MyProjectExample-Prefix.pch

que se vería así

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//
// 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í

Share

NSDictionary Content

Gracias al  post de Nick Waynick, recordé como se puede hacer un NSLog del contenido de un diccionario JSON (aunque también debería funcionar para cualquier diccionario). Es el clásico código sencillo que olvidas cuando lo quieres usar. A ver si escribiéndolo aquí no lo olvido.

NSString *key;
for(key in jsonDictionary){
NSLog(@"Key: %@, Value %@", key, [jsonDictionary objectForKey: key]);
}
Share

Learning Cocoa

 

Puesto que tengo una memoria de pez, y la retentiva de un niño de 4 años  tengo que leer constantemente como hacer tal o cual cosa, pues me olvido con facilidad; aunque aprendo más rápido viendo a otros hacer, eso sí. Uno de los blogs que más he usado para programar en Objective-C han sido los siguientes:

http://cocoadevcentral.com/

 

Haz click en la imagen para ir al sitio

Share