13 Swift 枚举类型

枚举类型的介绍

  • 概念介绍

    • 枚举定义了一个通用类型的一组相关的值,使你可以在你的代码中以一个安全的方式来使用这些值。
    • 在 C/OC 语言中枚举指定相关名称为一组整型值
    • Swift 中的枚举更加灵活,不必给每一个枚举成员提供一个值.也可以提供一个值是字符串,一个字符,或是一个整型值或浮点值
  • 枚举类型的语法

    • 使用enum关键词并且把它们的整个定义放在一对大括号内
enum SomeEnumeration {
// enumeration definition goes here
}

枚举类型的定义

  • 以下是指南针四个方向的一个例子
    • case关键词表明新的一行成员值将被定义
    • 不像 C 和 Objective-C 一样,Swift 的枚举成员在被创建时不会被 赋予一个默认的整数值
    • 在下面的CompassPoints例子中,North,South,East和West不是隐式的等于0,1,2和3
enum CompassPoint {
  case North
  case South
  case East
  case West
}
  • 定义方式二:多个成员值可以出现在同一行上
enum Planet {
  case Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune
}

给枚举类型赋值

  • 枚举类型赋值可以是字符串/字符/整型/浮点型
  • 注意如果有给枚举类型赋值,则必须在枚举类型后面明确说明具体的类型
// 1.枚举类型的赋值
enum CompassPoint : Int {
  case North = 1
  case South = 2
  case East = 3
  case West = 4
}

enum Planet : Int {
  case Mercury = 1, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune
}


// 2.枚举类型的使用
let p = Planet(rawValue: 3)

if let p = p {
    switch p {
    case .Mercury:
        print("Mercury")
    case .Venus:
        print("Venus")
    case .Earth:
        print("Mercury")
    case .Mars:
        print("Mars")
    case .Jupiter:
        print("Jupiter")
    case .Saturn:
        print("Saturn")
    case .Uranus:
        print("Uranus")
    case .Neptune:
        print("Neptune")
    }
}
  • 系列文章
    01 Swift最基本的语法变化
    02 Swift中的变量和常量
    03 Swift中的数据类型
    04 Swift逻辑分支
    05 Swift中的循环
    06 Switf中的字符串
    07 Swift 数组
    08 Swift字典
    09 Swift 元组
    10 Swift 可选类型
    11 Swift 类型转化
    12 Swift 函数
    13 Swift 枚举类型
    14 Swift 结构体
    15 Swift 类的定义
    16 Swift 类的构造函数
    17 Swift 类的析构函数
    18 自动引用计数
    19 Swift 可选链
    20 协议
    21 闭包
    22 Swift 懒加载
    23 Swift 注释

你可能感兴趣的:(13 Swift 枚举类型)