如何将关键字#define的常量值作为参数传递给方法?

问题描述:

我已经在我的一些文件中定义了一个常量,并将其添加到了我想要使用它的文件中,如下所示。如何将关键字#define的常量值作为参数传递给方法?


#define myMapID 1 

但问题是,当我传递的值的方法作为参数,编译器会发出警告,而且是必须做的,但我怎样才能避免警告?


-(void) methodName :(int) mapId 
{ 
//printID 
} 

[self methodName :myMapID]; 
+0

你会得到什么警告? – 2011-01-29 23:00:32

+0

通过使用#define我猜数据类型不清楚的编译器或不知道什么,所以它给出的警告,它应该根据我传递给它的方法的参数。在编译器语言中,警告就像“myTestAppDelegate”可能不会响应'-methodName:mapID“ – yunas 2011-01-29 23:27:50

奇怪的是,它会给你一个警告。请尝试:

#define myMapID (int) 1 

也许?

只需使用一个(全球)静态/恒INT,比的#define更清晰,不会给警告。