swift 枚举
2014-07-20 20:49
447 查看
枚举
枚举不是类型..而是值.枚举定义了一个通用类型的一组相关的值 什么时候用枚举?一组通用类型,用枚举..需要存储可能会改变的数据使用相关值..存储唯一且不变的值使用原始值
通用类型:
方向 : 枚举成员类型本身就不同..所以不需要值
码,条形码,二维码:都是码,枚举成员类型不同,但需求每个码中存储值...相关值
枚举的值:1.可以再枚举中存储可以改变的相关值..2.枚举成员可以被默认值(称为原始值)预先填充,其中这些原始值具有相同的类型。每个原始值在它的枚举声明中必须是唯一的。当整型值被用于原始值,如果其他枚举成员没有值时,它们会自动递增。
原始值和相关值是不相同的。当你开始在你的代码中定义枚举的时候原始值是被预先填充的值,像上述三个 ASCII 码。
对于一个特定的枚举成员,它的原始值始终是相同的。
相关值是当你在创建一个基于枚举成员的新常量或变量时才会被设置,并且每次当你这么做得时候,它的值可以是不同的。
enum CompassPoint { case North case South case East case West }
不像 C 和 Objective-C 一样,Swift 的枚举成员在被创建时不会被赋予一个默认的整数值
。在上面的CompassPoints例子中,North,South,East和West不是隐式的等于0,1,2和3。
相反的,这些不同的枚举成员在CompassPoint的一种显示定义中拥有各自不同的值。
每个枚举定义了一个全新的类型。像 Swift 中其他类型一样,它们的名字(例如CompassPoint和Planet)必须以一个大写字母开头。
给枚举类型起一个单数名字而不是复数名字
directionToHead的类型被推断为CompassPoint的一个可能存在的类型,值为该枚举类型的值.当被定义后,可以使用.+枚举类型.进行修改其类型
var directionToHead = CompassPoint.West //CompassPoint? directionToHead = .East //相关值 enum Barcode { case UPCA(Int, Int, Int) case QRCode(String) } var productBarcode = Barcode.UPCA(8, 85909_51226, 3) productBarcode = .QRCode("ABCDEFGHIJKLMNOP") //原始值 enum ASCIIControlCharacter: Character { case Tab = "\t" case LineFeed = "\n" case CarriageReturn = "\r" } enum Planet: Int { case Mercury = 1, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune }
相关文章推荐
- swift之枚举
- Swift快速入门之枚举与结构
- Swift中 使用位移枚举
- swift枚举
- Swift学习之枚举
- Swift教程之枚举类型详解
- Swift:(八)、枚举
- swift学习笔记之-枚举
- swift--枚举
- 7.2 Swift中switch匹配枚举
- Swift_枚举
- SWIFT——枚举数组元素的方法
- Swift的结构体,枚举,可选Optional,可选链
- Swift,函数,枚举
- Swift 系统学习 15 枚举
- Swift教程之枚举语法
- # swift2.0 数据结构:元组,枚举,结构体
- [swift学习之三]枚举练习
- Swift 的学习(枚举)
- 学习swift从青铜到王者之swift枚举07