OC中枚举都默认是int类型的,但是swift不是。在swift中枚举(Enumertions)是一个强大的数据类型,它允许你将相关的值组合在一起,并为这些值提供更有意义的名字。枚举可以包含属性、方法、构造方法和计算属性,使其不单单是简单的命名值的集合。
一、枚举的基本语法
写法一
写法二
使用一
使用二
就最基本的方法来说,节省了很多代码,使用起来也很方便
二、带有关联值的枚举
我们可以为枚举成员定义关联值,这允许枚举成员带着一个或者多个值
定义
调用
输出结果
三、带有switch语句
枚举非常适合和switch语句一起使用,他们可以提供比if-else更好的可读性和安全性
(这个方法我有了两种打印写法,与OC相比打印也很直观)
switch语句
输出结果
四、枚举的原始值
枚举成员可以自动获得一个原始值,通常是从0开始的整数,或者自己定义的字符串
定义
实现
五、枚举的计算属性
枚举可以定义计算属性,为枚举成员提供额外的信息
定义
调用
六、枚举的方法
枚举可以定义方法,为枚举成员提供行为
定义
调用方法相同,输出内容直接略了,其实就是说这个枚举成员是做啥的,也就是这个枚举成员所提供的行为
七、枚举的递归
枚举是可以递归的,这意味着他们可以包含自己的一个或者多个成员作为关联值
搜索的代码
还以为是啥,结果,觉得很鸡肋,如果是我的话不太想用,因为这种写法下一个人一看就乱了,代码也没有减少
总结:Swift的枚举用处还是很大的,枚举里可以做运算,这个是很nice的,可以节约时间,让代码更直观。