美文网首页
Swift 枚举

Swift 枚举

作者: 诗颜语 | 来源:发表于2022-05-11 12:55 被阅读0次

    Swift的枚举,与object-c/c 的枚举不太一样,准确的说是多了很多特性;

    首先枚举分三种: 1. 普通枚举 2. 包含原始值的枚举 3. 包含关联值的枚举

    / 普通枚举
    enum Sex {
        case man, woman
    }
     
     
    // 含有原始值的枚举
    enum Direction: Int {
        /// 默认从 0 开始
        case east, south, west, north
        /**
         也可以这样写
         case east = 1
         case south
         case west
         case north
         */
    }
     
     
    // 含有关联值的枚举
    enum Padding {
        /// 默认从 0 开始
        case top, left, bottom, right(Int, Int)
    }
     
     
    func enum_run(){
         
        var sex = Sex.man
        sex = .woman
         
        switch sex { //使用时需要包含所有情况  默认添加break;若想继续执行添加 fallthrough关键字
        case .man:
            print(sex)
        case .woman:
            print(sex)
        }
         
        var direction = Direction.east
        print(direction.rawValue) // 获取原始值 输出 0
        direction = .south
        print(direction.rawValue)// 获取原始值 输出 1
         
        var padding = Padding.right(10, 20)
        padding = .right(30, 50)
        switch padding {
        case let .right(a, b): // 其实‘可选类型’解包的过程就是这么实现的
            print(padding, a, b) // 获取关联值 输出 right(30, 50) 30 50
        case .top:
            print(padding)
        case .bottom:
            print(padding)
        case .left:
            print(padding)
        }
    }
     
     
    enum_run()
    

    相关文章

      网友评论

          本文标题:Swift 枚举

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