I have a piece of code I\'m using fairly often and would like to make a macro out of it. I\'m not exactly sure how to do that though. Here\'s the code I want to use
#define Image_Macro @"myLogo.png"
UIImage *titleImage = [UIImage imageNamed:Image_Macro];
UIImageView *titleImageView =[[UIImageView alloc] initWithImage:titleImage];
self.navigationItem.titleView = titleImageView;
#define MY_MACRO( img ) \
{\
UIImage *titleImage = [UIImage imageNamed:img]; \
UIImageView *titleImageView = [[UIImageView alloc] initWithImage:titleImage]; \
self.navigationItem.titleView = titleImageView; \
[titleImageView release];\
}
Use it like this:
MY_MACRO( @"myLogo.png" )
The use of {}
creates a scope block, which will prevent problems with variable redefinitions (if you have variables with the same name, where you use the macro).
use #define with the preprocessor, write a function, or write a method for your class.
Try the following macro
#define addImage( __imageName__) \
UIImage *titleImage = [UIImage imageNamed:__imageName__]; \
UIImageView *titleImageView = [[UIImageView alloc] initWithImage:titleImage]; \
self.navigationItem.titleView = titleImageView; \
[titleImageView release]; \