Macros úteis para projetos iOS

Normalmente uso um monte de macros, o que facilita minha vida ao desenvolver aplicativos iOS. Espero que você o ache tão útil quanto eu!


Coleção de macros, encontrada em: https://gist.github.com/numo16/3407652


Além disso, uso essas macros para me ajudar a depurar (em vez de usar NSLog):

  • DLog produzirá como NSLog somente quando a variável DEBUG for definida.
  • ALog sempre produzirá como NSLog.
  • ULog mostrará o UIAlertView apenas quando a variável DEBUG for definida.

    #ifdef DEBUG
    #define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
    #else
    #define DLog(...)
    #define NSLog(...)
    #endif

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

    #ifdef DEBUG
    #define ULog(fmt, ...) { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:[NSString stringWithFormat:@"%sn [Line %d] ", __PRETTY_FUNCTION__, __LINE__] message:[NSString stringWithFormat:fmt, ##__VA_ARGS__] delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil]; [alert show]; }
    #else
    #define ULog(...)
    #endif

Encontrei-o em: http://stackoverflow.com/questions/969130/how-to-print-out-the-method-name-and-line-number-and-conditionally-disable-nslog