枚举之美(上)
2016-07-09 00:00
316 查看
摘要: 本文主要探讨枚举在c/oc/swift 中的用法。
枚举,是一个被命名的整型常数的集合, 它可以让我们的代码更具可读性!下面就来看看各语言中枚举的用法和区别:
如果已经声明枚举变量的类型,那么我们就就不用再写CompassPoint了,直接使用点语法,如下所示:
如果遇到枚举名很长的情况下oc的代码就显得非常冗长,不易于阅读和编写,例如UIViewAutoresizing选项,使用OC的语法如下所示:
而swift给我们提供了一种更简单的写法:
枚举,是一个被命名的整型常数的集合, 它可以让我们的代码更具可读性!下面就来看看各语言中枚举的用法和区别:
枚举在C中的写法:
[code=language-objectivec]//定义星期枚举 enum weekday{ sun, mon, tue, wed, thu, fri, sat };
枚举在OC中的写法:
oc和c是完全兼容的,所以在oc中写c的枚举当然也是可以的,但是oc本身有它自己的语言特性,所以尽量使用oc本身的属性 ,例如int对应的应该使用NSInteger,举例如下:[code=language-objectivec]//车品牌 枚举 typedef NS_ENUM(NSInteger,LYCarBrand){ LYCarBrandFerrari, LYCarBrandLamborghini, LYCarBrandBMW, };
枚举在swift中的写法:
[code=language-swift]//定义指南针方向枚举 enum CompassPoint { case North case South case East case West } //声明一个枚举变量 var cp = CompassPoint.South
如果已经声明枚举变量的类型,那么我们就就不用再写CompassPoint了,直接使用点语法,如下所示:
[code=language-swift]//声明一个枚举变量 var cp : CompassPoint //重新赋值 cp = .South
如果遇到枚举名很长的情况下oc的代码就显得非常冗长,不易于阅读和编写,例如UIViewAutoresizing选项,使用OC的语法如下所示:
[code=plain]//使用或运算的时候代码显得冗长 view.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin;
而swift给我们提供了一种更简单的写法:
[code=language-swift]//给枚举间的 或运算 编写格式 contentView.autoresizingMask = [.LeftMargin,.RightMargin];
相关文章推荐
- Apple Swift学习教程
- 介绍 Fedora 上的 Swift
- C#编程中枚举类型的使用教程
- 枚举的用法详细总结
- PHP中Enum(枚举)用法实例详解
- c#入门之枚举和结构体使用详解(控制台接收字符串以相反的方向输出)
- 理解C#中的枚举(简明易懂)
- C#枚举中的位运算权限分配浅谈
- C++基础入门教程(四):枚举和指针
- FileShare枚举的使用小结(文件读写锁)
- Java枚举类用法实例
- 枚举窗口句柄后关闭所有窗口示例
- javascript模拟枚举的简单实例
- 深入剖析JavaScript中的枚举功能
- Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类和方法介绍
- Swift自定义iOS中的TabBarController并为其添加动画
- Swift编程中的泛型解析
- Swift中定义二维数组的方法及遍历方法示例
- Swift实现Selection Sort选择排序算法的实例讲解