美文网首页
八、枚举

八、枚举

作者: 随偑侕荇 | 来源:发表于2017-04-08 09:29 被阅读9次

枚举为一组相关的值定义了任意类型的关联值存储到枚举成员中。

1.定义和创建

用case表示不同的枚举值,同一行枚举用“,”隔开
enum 枚举类型 {
    case 枚举值1
    case 枚举值2,枚举值3
}
//.Spring的默认值为spring
enum Seasons {
    case Spring,Summer,Sutumn,Sinter
}

let currentSeason : Seasons = Seasons.Summer
print(currentSeason); //summer

2.枚举匹配

switch currentSeason{
    case .Spring:
        print("123")
    default:
        print("this is not Spring"). 
} //this is not Spring

3.关联值

//当检测不同的类型的时候,在case的分支代码中提取每个关联值作为一个常量
(用let前缀)或者作为一个变量(用var前缀)来使用:
enum Barcode {
    case upc(Int,Int,Int,Int)
    case qrCode(String)
}

var productBarcode = Barcode.upc(8, 85909, 51226, 3)
switch productBarcode {
    case .upc(let num1,let num2,let num3,let num4):
        print("upc")
    case .qrCode(let num):
        print("qrCode")
}
//upc

4.原始值(默认值)

enum ASCIIControlCharacter: Character {
    case tab = "\t"
    case lineFeed = "\n"
    case carriageReturn = "\r"
}

5.原始值的隐式赋值

当枚举定义为整数时,第一个枚举成员默认为0;当第一个枚举成员为1时,后面依次
+1;

通过rawValue来获取枚举成员的值 或 访问枚举成员;

enum tempType :Int{
    case table,table2,table3
}
print(tempType.table) //table
print(tempType.table2.rawValue) //1
//初始化枚举实例,返回类型为可选类型
let possibleType = tempType(rawValue: 2)

6.递归枚举:有一个或多个枚举成员使用该枚举类型的实例作为关联值

相关文章

  • 八、枚举

    枚举为一组相关的值定义了任意类型的关联值存储到枚举成员中。 1.定义和创建 2.枚举匹配 3.关联值 4.原始值(...

  • 八.枚举/Enumerations

    一个枚举定义了一个通用型的一组相关的值,使你在你的代码中的一个类型安全的方式这些值来工作 1.Associated...

  • Swift基础(八)枚举

    枚举简单的说也是一种数据类型,只不过是这种数据类型只包含自定义的特定数据,它是一组有共同特性的数据的集合。 Swi...

  • Swift 3.0之八、枚举

    1. 定义 一组相关值的通用类型。 2. 语法 举个栗子: 多个成员值可以出现在同一行中,用逗号隔开: 访问枚举中...

  • 混合枚举

    参考 YYModel,混合枚举的设计,与 MFC 编程中高八位低八位的思想异曲同工。 YYEncodingType...

  • C#枚举及与枚举常数的转换

    1、枚举的定义 2、枚举绑定到comboBox 3、枚举常数转换为枚举string转枚举 数字值转枚举

  • Swift 基础笔记 - 枚举

    枚举 OC定义和使用枚举 Swift定义枚举类型 Swift判断枚举类型 枚举成员类型

  • 枚举类

    1.枚举类型的定义: 枚举类型定义的一般形式为 enum 枚举名{//枚举值表枚举值1;枚举值2;...} 在枚举...

  • 10、枚举与闭包

    枚举 枚举和普通类相比有什么优势 枚举类型、枚举名称与枚举值 枚举的比较运算 两个枚举之间可以使用等值比较(==)...

  • Swift与OC的语法简单对比(常用语法二)

    20- 枚举,枚举原始值,枚举相关值,switch提取枚举关联值 Swift枚举: Swift中的枚举比OC中的枚...

网友评论

      本文标题:八、枚举

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