iOS创建宏

Joh*_*ane 8 iphone macros objective-c ios

我有一段代码,我经常使用它,并希望用它制作一个宏.我不确定如何做到这一点.这是我想要使用的代码

UIImage *titleImage = [UIImage imageNamed:@"myLogo.png"];
UIImageView *titleImageView = [[UIImageView alloc] initWithImage:titleImage];
self.navigationItem.titleView = titleImageView;
[titleImageView release];
Run Code Online (Sandbox Code Playgroud)

我想将这个块定义为一个宏,以后我可以说例如addImage(...); 谢谢你的帮助.

Mac*_*ade 18

#define MY_MACRO( img ) \
    {\
        UIImage *titleImage = [UIImage imageNamed:img]; \
        UIImageView *titleImageView = [[UIImageView alloc] initWithImage:titleImage]; \
        self.navigationItem.titleView = titleImageView; \
        [titleImageView release];\
    }
Run Code Online (Sandbox Code Playgroud)

像这样使用它:

MY_MACRO( @"myLogo.png" )
Run Code Online (Sandbox Code Playgroud)

使用{}创建一个范围块,这将防止变量重定义的问题(如果你有使用宏的同名变量).