Swift枚举笔记

//枚举示例(可以定义类型,例如:String)
enum NetworkConnection {
    //枚举项可以定义参数 (也可以定义为Int或String类型)
    case NotConnected
    case WiFi(String,Int)
    case Cellular(Int)
    
    //定义函数执行
    func description() ->String {
        switch self {
        case .NotConnected:
            return "NotConnected"
        case .WiFi(let wifiName, let pingTime):
            return "WiFi [(wifiName): (pingTime)ms]"
        case .Cellular(let pingTime):
            return "Cellular (pingTime)ms"
        }
    }
    
    //预编译(mutating的意义是给自己赋值,description()这种函数是不能给自己赋值的)
    mutating func lostConnection() {
        self = .NotConnected
    }
}

------------------------------------------------------------
print("(currentConnection.description())")// 输出 WiFi [MyWiFi: 38ms]
currentConnection.lostConnection()
print("(currentConnection.description())")// 输出 NotConnected

枚举也可以很屌,以上只是小case啦

如有疑问,共同探讨,共同进步。
原文地址:https://www.cnblogs.com/nielsen/p/4983912.html