swift2.0笔记3
来源:互联网 发布:python 电商b2b2c系统 编辑:程序博客网 时间:2024/06/11 01:17
1. 枚举语法
//1.定义一个枚举类型//2.必须以大写字母开头//3.case创建新的枚举值enum SomeEnumeration{ //代码}
enum CompassPoint{ case South case East case North case West}
//多个成员值可以出现在同一行上enum Planet { case Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune}
var directionToHead = CompassPoint.WestdirectionToHead = .Northswitch directionToHead { case .South: print("It is South") case .West: print("It is west") default: print("Another direction")}
2. 枚举关联值
//1.定义一个Barcode枚举类型,一个成员是具有(Int,Int,Int,Int)类型关联值的UPCA,另一个成员是具有String类型关联值的QRCode//2.枚举类型的常亮和变量只能存储一个枚举值(和其关联值)enum Barcode{ case UPCA(Int,Int,Int,Int) case QRCode(String)}var productBarcode = Barcode.UPCA(8, 85909, 51226, 3) //枚举类型变量存储一个枚举值和其关联值productBarcode = .QRCode("ABCDEFGHIJKLMNOP") //变量存储值被替换,因为只能存储一个枚举值及其关联值switch productBarcode { case .UPCA(let numberSystem, let manufacturer, let product, let check): print("UPC-A: \(numberSystem), \(manufacturer), \(product), \(check).") case .QRCode(let productCode): print("QR code: \(productCode).")}
3. 枚举原始值
//1.定义:枚举成员的默认值称为原始值//2.原始值的类型必须相同//3.原始值在枚举值中声明必须唯一enum ControlChar: Character{ case Tab = "\t" case LineFeed = "\n" case CarriageReturn = "\r"}
//关联值和原始值的区别//1.原始值在定义枚举值被预先填充的值,原始值是不变的//2.关联值是枚举类型的一个变量,这个变量是基于枚举成员的值,关联值是可以变化的enum PlanetAgain: Int { case Mercury = 1, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune}let earthsOrder = PlanetAgain.Earth.rawValueprint(earthsOrder)//在上面的例子中, Plant.Mercury 的显式原始值为 1.Planet.Venus 的隐式原始值为 2.依次类推。enum CompassPointAgain: String { case North, South, East, West}let sunsetDirection = CompassPointAgain.West.rawValueprint(sunsetDirection)//上面例子中, CompassPoint.South 拥有隐式原始值 South ,依次类推。
4. 使用原始值初始化枚举实例
//1.原始值构造器返回一个可选的枚举成员//2.下例中的possiblePnalet是可选的let possiblePnalet = PlanetAgain(rawValue: 7)print(possiblePnalet!)
0 0
- swift2.0笔记3
- Swift2.0初见笔记
- Swift2.0笔记1
- swift2.0笔记2
- Swift2.0:数据类型笔记
- Swift2.0--文档学习笔记
- swift2.0 学习笔记One
- swift2.0 学习笔记Two
- swift2.0 学习笔记Three
- swift2.0 学习笔记four
- swift2.0 学习笔记five
- swift2.0 学习笔记six
- swift2.0 学习笔记seven
- swift2.0 学习笔记eight
- swift2.0 学习笔记nine
- swift2.0 学习笔记ten
- swift2.0 学习笔记Eleven
- swift2.0 学习笔记Twelve
- 文章标题
- MySQL 性能优化的最佳20多条经验分享
- Android自定义View的实现方法,带你一步步深入了解View(四)
- 获取本地文件的大小
- 代码检测工具(四)JAVA代码静态检测之PMD
- swift2.0笔记3
- Android视图状态及重绘流程分析,带你一步步深入了解View(三)
- 命名空间“System.Web.Mvc”中不存在类型或命名空间名称“Ajax”(是否缺少程序集引用?)
- Android变色状态栏的实现
- 299. Bulls and Cows
- tableView学习
- Android视图绘制流程完全解析,带你一步步深入了解View(二)
- 添加ubuntu用户sudo权限
- Android LayoutInflater原理分析,带你一步步深入了解View(一)