iOS创buildmacros

我有一段相当经常使用的代码,并想从中创build一个macros。 我不确定如何做到这一点。 这是我想要使用的代码

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

我想把这个块定义为一个macros,所以我可以稍后说例如addImage(…); 谢谢你的帮助。

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

使用{}创build一个范围块,这将防止variables重定义问题(如果variables名称相同,则使用macros)。

对预处理器使用#define,编写一个函数 ,或者为你的类写一个方法

试试下面的macros

 #define addImage( __imageName__) \ UIImage *titleImage = [UIImage imageNamed:__imageName__]; \ UIImageView *titleImageView = [[UIImageView alloc] initWithImage:titleImage]; \ self.navigationItem.titleView = titleImageView; \ [titleImageView release]; \ 

#define Image_Macro @“myLogo.png” UIImage *titleImage = [UIImage imageNamed:Image_Macro]; UIImageView *titleImageView =[[UIImageView alloc] initWithImage:titleImage]; self.navigationItem.titleView = titleImageView; UIImage *titleImage = [UIImage imageNamed:Image_Macro]; UIImageView *titleImageView =[[UIImageView alloc] initWithImage:titleImage]; self.navigationItem.titleView = titleImageView;