如果我尝试在case语句中创建变量,它会给我构建错误 任何人都可以告诉我为什么这个语法会给我一个构建错误(“'NSMutableArray'之前的预期表达式”)。
答案 0 :(得分:5)
尝试在case语句中添加括号{}以便能够声明变量,如下所示:
switch (my_switch_statement)
{
case my_switch_case:
{
NSMutableArray *my_switch_array;
}
}
答案 1 :(得分:4)
假设您尝试执行以下操作:
switch (...){
case someCase:
NSMutableArray *array = ...
break;
...
}
c(所以objective-c)不允许在switch-case语句中声明变量。如果你想这样做,你必须通过将代码放在{} block:
中来限制变量范围switch (...){
case someCase:{
NSMutableArray *array = ...
}
break;
...
}
答案 2 :(得分:0)
通常你会想要在开关范围之外声明变量,就像任何条件代码块一样。
NSString * valueString;
int i = 1;
switch(i){
case 0:
valueString = @"case 0";
break;
case 1:
valueString = @"case 1";
break;
default:
valueString = @"not case 1 or 0";
break;
}
//valueString=>@"case 1"