swift的枚举模式是数据结构与操作结合的模式
1、enum本质是一个类型,可以定义变量;
它定义的变量可以用到其它变量用的的任何地方:函数的输入、输出、成员变量、临时变量等;
这个变量还可以带有附加信息:rawValue、关联值等;
枚举变量是一个变量,枚举变量是一个可以携带更多信息的变量;
2、枚举变量自带switch case 操作属性:
这使得建立在枚举变量上的操作可以根据变量进行定制;
3、枚举类型有自带或扩展的函数(操作):
根据程序=数据结构+算法 的定义,可以在枚举类型的变量上扩展更多的操作;
可以通过对协议的扩展,模块桥接关联。
public enum BoolEncoding {
case numeric, literal
func encode(value: Bool) -> String {
switch self {
case .numeric:
return value ? "1" : "0"
case .literal:
return value ? "true" : "false"
}
}
}