Swift 枚举

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()
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 枚举 枚举为一组相关的值定义了一个共同的类型,使你可以在你的代码中以类型安全的方式来使用这些值。 如果你熟悉 C ...
    xiaofu666阅读 679评论 0 0
  • 枚举为一组相关的值定义了一个共同的类型,使得可以在代码中以类型安全的方式来使用这些值。 如果熟悉 C 语言,会知道...
    穷人家的孩纸阅读 861评论 1 4
  • 枚举为一组相关的值定义了一个共同的类型,使你可以在你的代码中以类型安全的方式来使用这些值。 如果你熟悉 C 语言,...
    CDLOG阅读 340评论 0 0
  • 枚举为一组相关值定义一个公共类型,并使我们能够在代码中以类型安全的方式使用这些值。 如果我们熟悉C,我们将知道C枚...
    明若晴空阅读 734评论 0 0
  • Swift 枚举和 C++枚举大不相同. 枚举的功能都被大大扩增, 其中 Swift 的枚举功能最为强大 —— 可...
    大刀和长剑阅读 375评论 0 4