美文网首页ios专题
七、Swift3.0之switch在OC和Swift中的区别

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

作者: ZhengYaWei | 来源:发表于2017-02-22 23:51 被阅读101次

    先看一下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中的区别

        本文链接:https://www.haomeiwen.com/subject/fbdvwttx.html