Iphone 开关/外壳问题
若我试图在case语句中创建变量,它会给我生成错误Iphone 开关/外壳问题,iphone,Iphone,若我试图在case语句中创建变量,它会给我生成错误 有人能告诉我为什么这个语法会导致生成错误(“NSMutableArray”之前的预期表达式)。假设您尝试执行以下操作: switch (...){ case someCase: NSMutableArray *array = ... break; ... } c(以及objective-c)不允许在switch case语句中声明变量。如果要这样做,必须通过将代码放入{}块来限制变量范围: switch (
有人能告诉我为什么这个语法会导致生成错误(“NSMutableArray”之前的预期表达式)。假设您尝试执行以下操作:
switch (...){
case someCase:
NSMutableArray *array = ...
break;
...
}
c(以及objective-c)不允许在switch case语句中声明变量。如果要这样做,必须通过将代码放入{}块来限制变量范围:
switch (...){
case someCase:{
NSMutableArray *array = ...
}
break;
...
}
假设您尝试执行以下操作:
switch (...){
case someCase:
NSMutableArray *array = ...
break;
...
}
c(以及objective-c)不允许在switch case语句中声明变量。如果要这样做,必须通过将代码放入{}块来限制变量范围:
switch (...){
case someCase:{
NSMutableArray *array = ...
}
break;
...
}
尝试在case语句中添加括号{},以便能够声明变量,如下所示:
switch (my_switch_statement)
{
case my_switch_case:
{
NSMutableArray *my_switch_array;
}
}
尝试在case语句中添加括号{},以便能够声明变量,如下所示:
switch (my_switch_statement)
{
case my_switch_case:
{
NSMutableArray *my_switch_array;
}
}
通常,您希望在开关的作用域之外声明变量,就像任何条件代码块一样
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"
NSString*valueString
int i=1
开关(i){
案例0:
valueString=@“案例0”;
中断;
案例1:
valueString=@“案例1”;
中断;
默认值:
valueString=@“不是案例1或0”;
中断;
}
//valueString=>@“case1”
通常,您希望在开关的作用域之外声明变量,就像任何条件代码块一样
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"
NSString*valueString
int i=1
开关(i){
案例0:
valueString=@“案例0”;
中断;
案例1:
valueString=@“案例1”;
中断;
默认值:
valueString=@“不是案例1或0”;
中断;
}
//valueString=>@“案例1”
可能的重复感谢Benoit的可能重复。添加花括号修复了Benoit的问题。添加花括号修复了这个问题