Objective-C问题:无法在switch case中初始化UIViewController?
switch(anIntegerIndex) {
case 1:
UIViewController *vc = [[UIViewController alloc] init];
break;
default:
break;
}
上面的UIViewController行中有编译错误。我正在使用iOS 5 SDK + xCode 4.2
答案 0 :(得分:13)
这是switch
陈述的常见C限制 -
您不能在个人case
中声明局部变量,除非您将它们放在{}
括号内。
最简单的方法是将UIViewController *vc;
声明放在switch
之前,然后将vc = [[whatever..
放在case
内。
答案 1 :(得分:0)
您是否尝试过创建对象但未初始化它?
如
UIViewController * vc = null;
switch(anIntegerIndex){ 情况1: * vc = [[UIViewController alloc] init];
等等