【发布时间】:2014-04-23 18:23:58
【问题描述】:
我有一个这样的开关盒:
switch ([weatherCode intValue]) {
case 1:
...
break;
case 2:
....
break;
}
但我想在这种情况下分配一个对象,例如NSString *string = @"hello";
但它一直给我一个错误expect expression,我根本不明白发生了什么。请帮忙。
谢谢。
【问题讨论】:
-
switch语句的所有情况下的所有语句都在同一个范围内,所以当你在一个情况下声明一个具有名称的变量,然后你在另一个情况下声明一个具有相同名称的变量时,您实际上是在进行两次声明。错误不在分配或定义中,而是在声明中。您可以使用花括号在每种情况下创建一个新范围,或者您只需在
switch之前声明一次变量,然后将分配推迟到case。
标签: ios objective-c switch-statement