例如
int a = 2;
switch (a)
{
case 1:
NSArray* array = [[NSArray alloc] init];
[array release];
break;
case 2:
break;
}
这样的 case会报错:
: Semantic Issue: Unexpected interface name 'NSArray': expected expression
修改的方法:
在case 语句中加上括号 就可以解决了,因为这样编译器认为这是一个局部模块 而不是 像上面那样爆出奇怪的错误。
switch (a)
{
case 1:
{
NSArray* array = [[NSArray alloc] init];
[array release];
}
break;
case 2:
break;
}
解决Objective-C中switch case语句错误问题
本文探讨了Objective-C中使用switch case语句时遇到的语法错误,并提供了有效的解决方案。通过在case语句中加入括号,可以避免编译器误将局部变量解释为未知接口名的问题,确保代码的正确性和流畅运行。
2034

被折叠的 条评论
为什么被折叠?



