我在我的一个文件中有这段代码:
switch ([sender tag]){
...
case 100:
UIView *v1 = [UIView alloc] initWithFrame blabllabla...
[v1 bla bla bla...
break;
...
看起来很标准吧?但它给了我这个错误:
"Use of undeclared v1"
然后我输入“NSLog()”或“if”语句,如下所示:
case 100:
NSLog(@"why need a nslog here?");
或
case 100:
if(1==1) {
...
然后它有效。
任何人都知道为什么会这样?这是我的代码还是客观规则?
答案 0 :(得分:5)
如果不使用C块,则无法声明范围限制为case
的变量。将其更改为:
case 100:
{
UIView *v1 = [UIView alloc] initWithFrame blabllabla...
[v1 bla bla bla...
break;
}
它应该有用。