2011-11-15 90 views
8

我有一段我經常使用的代碼,並想從中創建一個宏。我不確定如何做到這一點。這是我想用iOS創建宏

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

的代碼,我想定義此塊宏,所以我可以在以後例如addImage說(...);謝謝你的幫助。

回答

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

採用{}創建範圍塊,這將防止變量重新定義的問題(如果你有相同的名稱,在您使用的宏觀變量)。

0

使用的#define與預處理,寫一個功能,或寫你的類方法

0

嘗試下面的宏

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

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