只是想让您对此有所了解,我记得阅读过在switch-case
语句中禁止属性声明(即case:ABC int i=0;
不允许)
今天早上我遇到了一件很奇怪的事情,
以下编译
switch(var1) {
case 1:
NSLog(@"hello");
float x = 0;
view.setCenter(CGPointMake(x,100));
break;
...
而以下不编译
switch(var1) {
case 1:
float x = 0;
view.setCenter(CGPointMake(x,100));
break;
...
所以看起来如果你case
用一个语句(而不是声明)开始一个表达式,它就会编译。但是当您尝试立即从变量声明开始时,它不会。
这背后的原因是什么?
编辑:决定让我的问题更清楚,NSLog 有什么区别,以便现在编译?