Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS create macro

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

UIImage *titleImage = [UIImage imageNamed:@"myLogo.png"];
UIImageView *titleImageView = [[UIImageView alloc] initWithImage:titleImage];
self.navigationItem.titleView = titleImageView;
[titleImageView release];

I want to define this block as a macro so I can later say for instance addImage(...); Thanks for your help.

like image 546
John Lane Avatar asked Nov 15 '11 10:11

John Lane


1 Answers

#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).

like image 180
Macmade Avatar answered Sep 21 '22 16:09

Macmade