奇怪的“开关盒”陈述
我的一个文件中有这段代码:
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) {
...
然后它就起作用了。
有谁知道这是为什么吗?是我的代码还是objective-c规则?
I have this piece of code in one of my file:
switch ([sender tag]){
...
case 100:
UIView *v1 = [UIView alloc] initWithFrame blabllabla...
[v1 bla bla bla...
break;
...
Looks pretty standard huh? But it gives me this error:
"Use of undeclared v1"
Then i put an "NSLog()" or "if" statement, like this:
case 100:
NSLog(@"why need a nslog here?");
or
case 100:
if(1==1) {
...
Then it works.
Anyone know why is that? Is it my code or objective-c rules?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果不使用 C 块,则无法声明其范围仅限于
case
的变量。将其更改为:它应该可以工作。
You cannot declare variables whose scope is limited to a
case
without using a C block. Change it to:and it should work.