我想使用下面的表达式
-(void)SwitchCondn{
int expression;
int match1=0;
int match2=1;
switch (expression)
{
case match1:
//statements
break;
case match2:
//statements
break;
default:
// statements
break;
}
但是我得到了
当我研究时我发现
In order to work in Objective-C, you should define your constant either like this:
#define TXT_NAME 1
Or even better, like this:
enum {TXT_NAME = 1};
我很长时间以来一直在使用这种方法。现在我的变量值将在运行时发生变化,所以我需要以其他方式定义,我不想使用 if else 所以有没有其他方式声明变量的方式
我已经学习了
Objective C switch statements and named integer constants
最佳答案
错误 expression is not an integer constant expression
的意思就是它所说的:在 case
中,值必须是常量,例如,不是变量。
您可以将 switch
上方的声明更改为常量:
const int match1=0;
const int match2=1;
或者您可以使用枚举。或者 #define
。但是你不能在那里使用非常量变量。
关于ios - 表达式不是 iOS objective-c 中的整数常量表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31119606/