SwiftTipsSwift开发技巧swift

Enum 枚举类型

2015-11-25  本文已影响83人  PonyCui

几乎所有的高级语言都包含有枚举类型 Enum , Enum 可以帮助我们将同一类型的数字表达值转换为可阅读的代码。

什么情况应该使用 Enum ?

假定应用间已经协商好以下数据协议

性别 未知 = 0 男 = 1 女 = 2

那么对应成 Enum 就应该这样写

enum Gender: Int {
    case Unknown = 0;
    case Male = 1;
    case Female = 2;
}

明确你的 Enum 属于哪个类型是一个良好的编码习惯。

当接收到服务器返回的 Gender 数值时,应该使用 Fail-able Init 的方式进行 Enum 的初始化,以避免不良数据导致应用崩溃。

enum Gender: Int {
    case Unknown = 0;
    case Male = 1;
    case Female = 2;
    
    func chinese() -> String {
        if self == .Male {
            return "男"
        }
        else if self == .Female {
            return "女"
        }
        else {
            return "未知"
        }
    }
}

let serverGender = 1

if let clientGender = Gender(rawValue: serverGender) {
    print(clientGender.chinese())
}
else {
    print("非法数据")
}

使用 Enum 的好处是显而易见的,同一类型的逻辑可以封装到一个数据结构中。 Swift中的 Enum 比 Objective-C 实用性大为增强, Objective-C 中的 Enum 只能说是 C++ 或是 C 的一种转换。

上一篇 下一篇

猜你喜欢

热点阅读