标签:
//: Playground - noun: a place where people can play
import UIKit
//定义枚举
//enum CompassPoint {
// case North
// case South
// case East
// case West
//}
//定义枚举
enum CompassPoint {
case North, South, East, West
}
var point : CompassPoint
point = CompassPoint.North
//var a : Int = point
//通过 上下文环境 可以省略枚举名
point = .South
switch point {
case .North:
println("北边")
case .South:
println("南边")
case .East:
println("东边")
case .West:
println("西边")
}
//原始值 (裸值 Raw Values)
//枚举值可以有对应原始值 就像C中每个枚举值对应一个整数一样
enum Week : Int {
case Sun = 0, Mon, Tur, Wen, Thu, Fri, Sat //递增 +1
}
var weekDay = Week.Thu
//获取枚举的原始值
var weekNum = weekDay.rawValue
//不可以直接用原始值给枚举值赋值
//weekDay = 5
//通过原始值 创建枚举值时 返回的是 可选值
if let fri = Week(rawValue: 5) {
fri.rawValue
}else {
println("转换失败")
}
//枚举的 关联值
//跟踪物品 条形码 二维码
enum Barcode {
//条形码 UPCA 关联3个Int
case UPCA(Int,Int,Int)
//QRCode 关联的是一个字符串
case QRCode(String)
}
//69开头 中国 中间内容 商品分类 最后一位 校验码(有固定算法)
var productBarCode = Barcode.UPCA(690, 253800584, 4)
productBarCode = Barcode.QRCode("sajdflksjdflksjadflksjadf")
switch productBarCode {
case .UPCA(let(num, id, check)):
println("这是一个条形码 \(num)\(id)\(check)")
case .QRCode(let pCode):
println("这是一个二维码 \(pCode)")
}
标签:
原文地址:http://www.cnblogs.com/endtel/p/4626449.html