我有一段我经常使用的代码,并希望用它制作一个宏。我不确定如何做到这一点。这是我想要使用的代码
UIImage *titleImage = [UIImage imageNamed:@"myLogo.png"];
UIImageView *titleImageView = [[UIImageView alloc] initWithImage:titleImage];
self.navigationItem.titleView = titleImageView;
[titleImageView release];
我想将此块定义为宏,以后我可以说例如addImage(...);谢谢你的帮助。
答案 0 :(得分:18)
#define MY_MACRO( img ) \
{\
UIImage *titleImage = [UIImage imageNamed:img]; \
UIImageView *titleImageView = [[UIImageView alloc] initWithImage:titleImage]; \
self.navigationItem.titleView = titleImageView; \
[titleImageView release];\
}
像这样使用:
MY_MACRO( @"myLogo.png" )
{}
的使用创建了一个范围块,它可以防止变量重定义的问题(如果你有使用宏的同名变量)。
答案 1 :(得分:0)
将#define与预处理器一起使用,编写函数,或为您的班级编写方法。
答案 2 :(得分:0)
尝试以下宏
#define addImage( __imageName__) \
UIImage *titleImage = [UIImage imageNamed:__imageName__]; \
UIImageView *titleImageView = [[UIImageView alloc] initWithImage:titleImage]; \
self.navigationItem.titleView = titleImageView; \
[titleImageView release]; \
答案 3 :(得分:0)
#define Image_Macro @" myLogo.png"
UIImage *titleImage = [UIImage imageNamed:Image_Macro];
UIImageView *titleImageView =[[UIImageView alloc] initWithImage:titleImage];
self.navigationItem.titleView = titleImageView;