Massimo Oliviero

I deliri digitali di un programmatore informatico e aspirante fotografo…
ottobre 10th, 2011 by Massimo

iOS, personalizzare la funzione NSLog

La funzione NSLog presente nel Foundation Kit è molto comoda in fase di debug di un’applicazione. NSLog non fa altro che stampare a console la stringa passata come argomento. Possiamo rendere NSLog “parlante” aggiungendo delle informazioni interessanti, come il nome del metodo e il numero di linea, ogni volta che viene chiamata.

Per farlo è necessario definire una propria funzione “MYLog” in un header comune o nel file .pch in questo modo:

1
# define MYLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);

__PRETTY_FUNCTION__ e __LINE__ sono due macro che hanno proprio lo scopo di visualizzare il nome del metodo e la linea. Ci sono anche altre macro che si posso utilizzare ad ognuno la sua scelta.

Se invece vogliamo fare in modo che queste informazioni siano stampate solo in DEBUG basta aggiungere un if in questo modo:

1
2
3
4
5
#ifdef DEBUG
#   define MYLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
#   define MYLog(...)
#endif

Niente di più semplice e funzionale.

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

*

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">