七、Swift3.0之switch在OC和Swift中的区别

先看一下OC中的switch:
1、switch语句分支必须是整数
2、每个语句都需要一个break
3、如果要穿透,case连着写。 如:case 9: case 10:
4、如果定义局部变量,需要用{ }将相关语句括起来

另外,OC中{ }主要用于限定变量的作用域。如:以下两个label命名相同,借助{ }不会报错,且都可以显示在界面上。

UILable  *label =  [[UILabel alloc]initWithFrame:CGRectMake:(0,20,100,40)];
label.text = “1”;
[self.view  addSubView:label];

{
   UILable  *label =  [[UILabel alloc]initWithFrame:CGRectMake:(0,300,100,40)];
   label.text = “1”;
   [self.view  addSubView:label];
}

Swift中的switch:
1、可以针对任意类型的值进行分支,不再局限于整数。(重)
2、一般不需要break。
3、如果使用多值,使用 ,
4、所有分支至少有一条指令。如果什么都不做,才直接使用break.

func demo(str: String) {
        switch str {
        case "10":
            print("A")
        case "9":
            print("B")
            //借助 , 执行多个分支
        case "8","7":
            print("C")
        case "6":
            //什么都不做,使用break
            break
        default:
            print("D")
        }
    }

你可能感兴趣的:(七、Swift3.0之switch在OC和Swift中的区别)