1. Swift语法中 switch与 OC 中的比较
在 OC 中的 switch
- 格式: switch(需要匹配的值) case 匹配的值: 需要执行的语句 break;
- 可以穿透
- 可以不写default
- default位置可以随便放
- 在case中定义变量需要加大括号, 否则作用域混乱
- 不能判断对象类型, 只能判断基本类型中的整数
在 Swift 中的 Switch
- OC必须是整数, 在 Swift 中可以是对象的类型也可以是 double类型
- 不可以穿透
- 可以不写break
- 不能不写default
- default位置只能在最后
- 在case中定义变量不用加大括号
2. 两者区别代码说明
- OC代码
char rank = 'A';
switch (rank) {
case 'A':
NSLog(@"优");
break;
case 'B':
NSLog(@"良");
break;
case 'C':
NSLog(@"差");
break;
default:
NSLog(@"没有评级");
break;
}
//输出结果: 优
//可以穿透
char rank = 'A';
switch (rank) {
case 'A':
NSLog(@"优");
case 'B':
NSLog(@"良");
break;
case 'C':
NSLog(@"差");
break;
default:
NSLog(@"没有评级");
break;
}
//输出结果:
//2016-01-06 20:15:41.643 OCTest[6617:1852944] 优
//2016-01-06 20:15:41.644 OCTest[6617:1852944] 良
//可以不写default
char rank = 'A';
switch (rank) {
case 'A':
NSLog(@"优");
break;
case 'B':