美文网首页
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