例如
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部分使用局部模块时出现的意外接口名错误。通过实例演示了如何正确地在case语句中使用括号来避免此类问题,确保代码的正常运行。

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



