Swift-8-枚举
- // Playground - noun: a place where people can play
- import UIKit
- // 枚举语法
- enum SomeEnumeration {
- // enumeration definition goes here
- }
- // 定义一个枚举
- enum CompassPoint {
- case North
- case South
- case East
- case West
- }
- // 声明枚举时,并不会像C/OC那样为枚举成员赋默认值
- // 多个枚举成员出现在一行用逗号隔开
- enum Planet {
- case Mercury, Venus, Earth, Mars
- }
- var directionHead = CompassPoint.West
- // 变量directionHead现在已知为CompassPoint类型,再次赋值时可以省略枚举类型
- directionHead = .South
- // 通过Switch匹配枚举值
- switch directionHead {
- case .North:
- println("north")
- case .South:
- println("south")
- case .West:
- println("west")
- case .East:
- println("east")
- default:
- break
- }
- // 关联值 Associated Values
- enum BarCode {
- case UPCA(Int, Int, Int, Int) // UPCA 类型为(Int, Int, Int, Int)
- case QRCode(String) // QRCode 类型为 (String)
- }
- var productCode = BarCode.UPCA(, , , )
- productCode = .QRCode("ABCDEFG")
- // 提取关联值 使用let还是var根据case语句内的使用情况决定
- switch productCode {
- case .UPCA(let a1, let a2, let a3, let a4):
- println("UPCA:\(a1)-\(a2)-\(a3)-\(a4)")
- case .QRCode(let s1):
- println("QRCode:\(s1)")
- default:
- break
- }
- // 原始值 Raw Values
- enum ASCIIControlCharacter: Character {
- case Tab = "\t"
- case LineFeed = "\n"
- case CarriageReturn = "\r"
- }
- // 注意:原始值和关联值是不同的。对于一个特性的枚举成员,它的原始值始终是定义枚举时预设的值,而关联值当你通过一个枚举成员创建变量或者常量时会被设置,每一次都可以不一样
- // 当整数[ntegers]被用于初始化原始值时,如果其它成员没有特别指定初始值,原始值将会自增
- enum SomePlanet: Int {
- case Mercury = , Venus, Earth, Mars, Jupiter, Santurn, Uranus, Neptune
- }
- // 通过rawValue属性访问枚举成员
- let earthsOrder = SomePlanet.Earth.rawValue
- // 通过原始值初始化实例
- let possiblePlanet = SomePlanet(rawValue: ) // 返回值为optional?
Swift-8-枚举的更多相关文章
- swift 的枚举、结构体、类
一.Swift的枚举 枚举是一系相关联的值定义的一个公共的组类型,同时能够让你在编程的时候在类型安全的情况下去使用这些值.Swift中的枚举比OC中的枚举强大得多, 因为Swift中的枚举是一等类型, ...
- Swift Enum 枚举
前言 枚举是一种自定义的数据类型,在 Swift 中枚举类型拥有相当高的自由度.在 Swift 语言中枚举是一级类型,它拥有在其他语言中只有类才拥有的一些特性,比如实例方法,实例构造器等. 枚举声明的 ...
- swift学习——枚举
swift枚举 1. 枚举基本语法 enum Method { case Add case Sub case Mul case Div } 也可以使用一种更简单的写法 enum Method1{ ca ...
- Swift 中枚举
Swift 中枚举高级用法及实践 字数11017 阅读479 评论0 喜欢20 title: "Swift 中枚举高级用法及实践"date: 2015-11-20tags: [AP ...
- Swift - 39 - 枚举类型关联默认值
//: Playground - noun: a place where people can play import UIKit enum Month: Int { // 这么定义, 后面的Feb, ...
- Swift - 38 - 枚举的基本语法
//: Playground - noun: a place where people can play import UIKit // 创建一个枚举类型就相当于创建了一个新的数据类型, 所以首字母应 ...
- Swift中枚举的总结以及使用
枚举定义了一组具有相关性的数据,是开发者可以再带吗中以一个安全的方式来使用这些值,以又助于提供代码的可读性. 在Swift中,枚举可以分成两种:任意类型的枚举和指定类型的枚举,结构如下: //任意类型 ...
- iOS - Swift Enum 枚举
1.Enum 的创建 1.1 标准定义 枚举的定义 enum CompassPoint { case North case South case East case West } enum Plane ...
- Swift - 40 - 枚举更加灵活的使用方式
//: Playground - noun: a place where people can play import UIKit /* 这里的枚举没有给它的成员默认值, 而是给它绑定了一个类型, 之 ...
- 初学swift笔记 枚举(七)
import Foundation /* 枚举 语法结构 enum 类型 { case 值 } */ //定义一个枚举 写法1 enum LiuShiQun { case Name case Age ...
随机推荐
- Deferred content load was not performed. To provide the content, subscribe to the View's QueryControl event
{"Deferred content load was not performed. To provide the content, subscribe to the View's Quer ...
- ssh认证
密钥认证 密码验证会造成账户口令的外泄,不安全,基于账号的保密性考虑,可以采用密钥验证实现远程连接. Linux--Linux 1.Linux客户端主机上生成密钥文件 ssh-keygen -t rs ...
- C#秘密武器之多线程——参数与返回值
线程函数要么没有参数,要么只能有一个object参数,而且均没有返回值,这样就大大降低了程序的灵活性,其实我们想要的是能像普通方法一样正常使用参数和返回值!能不能实现这个需求呢?下面就介绍两种方法 一 ...
- Git学习笔记一--创建版本库、添加文件、提交文件等
Git,是Linus花了两周时间用C写的一个分布式版本控制系统.牛该怎么定义? 其实,很多人都不care谁写了Git,只在乎它是免费而且好用的!So do I! 下面开始我们的学习: 1.Git安装( ...
- jshint错误
这条命令即可. npm install --save-dev jshint gulp-jshint
- bin和sbin区别
据说这个目录结构是沿袭unix的,不大清楚. bin是binary的缩写,是可执行的二进制文件./bin里面一般是基本的,大家都要用的工具:sbin里面的s是system的意思,是供system ad ...
- tomcat禁用webdav
在tomcat的web.xml,以及自己项目的web.xml中,均需添加以下内容: <security-constraint> <web-resource-collection> ...
- 【WEB】jQuery获取页面回滚或跳转事件
1.效果: 2.Jquery: //记得引入jquery.min.js <script type="text/javascript"> $(function(){ wi ...
- StarUML 破解方法
在安装目录的:StarUML\www\license\node 找到LicenseManagerDomain.js 在 try 前面加上: return { name:"0xcb" ...
- Oem7F7 通用完美激活v7.0绿色版 永久激活Windows7/2008
http://www.21andy.com/blog/20100906/1942.html