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(8, 890, 89, 99)
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 = 1, Venus, Earth, Mars, Jupiter, Santurn, Uranus, Neptune
}

// 通过rawValue属性访问枚举成员
let earthsOrder = SomePlanet.Earth.rawValue

// 通过原始值初始化实例
let possiblePlanet = SomePlanet(rawValue: 7) // 返回值为optional?
时间: 2024-11-10 15:48:39

Swift-8-枚举的相关文章

Swift学习——A Swift Tour 枚举和结构体

Enumerations and Structures Enumerations   枚举的使用 使用 enum 定义一个枚举,枚举里面可以关联方法,比如下文中的描述方法 enum Rank: Int { case Ace = 1 case Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten case Jack, Queen, King func simpleDescription() -> String { switch self { ca

swift笔记- 枚举

枚举是一系列相关值的通用类型,是类型安全的. Swift中的枚举不需要为每一个成员赋值,而成员的值可以是 字符串 字符 或者人意的整数或浮点值. 枚举成员可以指定任何存储成员值类型的关联值enumeration members can specify associated values of any type to be stored along with each different member value.枚举成员可以是相关的成员集合,而每个成员也可以是一个单独的小集合. 枚举跟传统的类结

Swift 中枚举

Swift 中枚举高级用法及实践 字数11017 阅读479 评论0 喜欢20 title: "Swift 中枚举高级用法及实践"date: 2015-11-20tags: [APPVENTURE]categories: [Swift 进阶]permalink: advanced-practical-enum-examples 原文链接=http://appventure.me/2015/10/17/advanced-practical-enum-examples/作者=Benedik

swift学习——枚举

swift枚举 1. 枚举基本语法 enum Method { case Add case Sub case Mul case Div } 也可以使用一种更简单的写法 enum Method1{ case add, div,mul,sub } 2. swift匹配枚举值 func chooseMethod(op :Method) ->(Double , Double) ->Double { switch op { //.Add其实就是Method.Add case .Add: func add

Swift - 39 - 枚举类型关联默认值

//: Playground - noun: a place where people can play import UIKit enum Month: Int { // 这么定义, 后面的Feb, Mar会自动赋值为2和3.. case Jan = 1, Feb, Mar, Apr, May, Jun, July, Aug, Sep, Oct, Nov, Dec } let currentMonth:Month = .Nov // 查看枚举对应的值 currentMonth.rawValue

Swift,枚举

枚举类型判断 1.设置并利用枚举 enum Weacher{ case a case b case c } var d=Weacher.b switch d{ case .a: print("a") case .b: print("b") //b default: print("nil") } 2.利用元组 enum Weacher{ case a(Int,String) case b(Int,String) case c(Int,String)

初学swift笔记 枚举(七)

1 import Foundation 2 3 /* 4 枚举 5 6 语法结构 7 enum 类型 { 8 case 值 9 } 10 */ 11 //定义一个枚举 写法1 12 enum LiuShiQun { 13 case Name 14 case Age 15 case Sex 16 case Add 17 case Sub 18 case Mul 19 case Div 20 } 21 //定义一个枚举 写法2 22 enum LiuShiQun_1 { 23 case Add,Su

swift 定义枚举和结构体 及使用

//定义枚举 enum MapDirection { case North case South case East case West func simpleDescription() -> String { switch self { case .North: return "North" case .South: return "South" case .East: return "East" case .West: return &

iOS二次发育(swift)枚举

//: Playground - noun: a place where people can play import UIKit //Raw Value enum Month: String{ case January = "Value_January" case February = "Value_February" case March = "Value_March" case April = "Value_April"

swift 遍历枚举

? // see at?http://swifter.tips/enum-enumerate/ // 貌似有些空格在粘贴的时候没有了... ? ?= =! import Foundation ? enum Suit: String { ? ? case Spades = "黑桃" ? ? case Hearts = "红桃" ? ? case Clubs = "草花" ? ? case Diamonds = "方片" } ?