zoukankan      html  css  js  c++  java
  • swift 枚举类型

    1:swift的枚举类型是一系列的值,不同于c语言中枚举类型是整数类型。每个枚举定义了个新的类型

    2:switch类型匹配

     2.1枚举类型和switch单个匹配

    
    

    enum PlatType{ 

    case Plane, Ship, Train, Car

    }

    var eTransport:PlatType = PlatType.Ship
    switch eTransport {
    case .Plane:
        println("plane")
    //case .Ship:
    //    println("ship")
    //case .Train:
     //   println("train")
    case .Car:
        println("car")
    default:
        println("default")
    }

    关于switch语句,必须是完备的。如上所示,如果没有把所有case写完整,那么就需要加上default语句。如上代码,会进入default语句。如果所有case都写完整了,那么可以不需要default语句。另外,不同与c语言等,swift语言的switch语句的case会自动break。

    2.2 关联值枚举类型

    enum OtherType{
        case Point(Int, Int)
        case Name(String)
    }
    var type:OtherType = .Name("xd")
    type = .Point(4, 9)
    switch type{
    case .Point(let iX, let iY):
        println("point X:(iX) Y: (iY)")
    case .Name(let strName):
        println("name:(strName)")
    }

     2.3 初始值设定。初始值类型必须要一致。

    enum InitalSettingType:Character{
        case CharacterX = "a"
        case CharacterY = "r"
    }
    enum InitalIntType:Int{
        case Monday = 1, Tuesday, Wednesday, Thursday, Friday, Saturday, weekday
    }Int类型枚举初始值会自动+1.类似c语言枚举

    如果要访问枚举类型的出事值,使用toRaw方法。

    let initValue = InitalIntType.Tuesday.toRaw()
    println("(initValue)")

    使用fromRaw()反向查找枚举类型值。 

    let value = InitalIntType.fromRaw(2)

  • 相关阅读:
    基本HAL库操作函数整理
    oled(iic协议)
    Uart串口中断收发
    博主回来啦
    博主的冒泡1
    AFO

    起床困难综合症
    费解的开关
    数独
  • 原文地址:https://www.cnblogs.com/zhidao-chen/p/3878600.html
Copyright © 2011-2022 走看看