SWIFT Enumeration(2)

之前记录了Swift Enumeration(1),这篇算是它的延续吧,继续说下Enumeration,看以下定义

enum TrainStatus {

case OnTime

case Delay(Int) //带关联值

}

var myTrainStatus = TrainStatus.Delay(10)

用Switch 匹配对象

switch myTrainStatus{

case .OnTime:

println("Train is ontime")

case .Delay(let minutes):

println("Train delays \(minutes) minutes")

}

匹配方式是有先后顺序的,上面中先匹配到Delay然后再给里面的minutes赋值,好下面我将演示区间匹配。

switch myTrainStatus{

case .OnTime://匹配准时

println("Train is ontime")

case .Delay(1...5)://匹配1到5

println("Train delays less than five minutes")

case .Delay(6...10)://匹配6到10

println("Train delays between six and ten minutes")

case .Delay(_): //匹配其它,里面是下划线

println("Train delays more than ten minutes")

}

时间: 2024-10-20 12:48:16

SWIFT Enumeration(2)的相关文章

Swift学习Day005

7.闭包(Closure) 7.1语法表达式 7.1.1作为上下文推断类型 7.1.2单行表达式隐式返回    7.1.3参数名称缩写    8.枚举(Enumeration) 8.1枚举语法 8.2匹配枚举值和Swift语句 8.3实例指 8.4原始值 8.5举例子

swift学习笔记(三)关于拷贝和引用

在swift提供的基本数据类型中,包括Int ,Float,Double,String,Enumeration,Structure,Dictionary都属于值拷贝类型. 闭包和函数同属引用类型 捕获则为拷贝.捕获即定义这些常量和变量的原作用域已不存在,闭包仍然可以在闭包函数体内引用和修改这些值 class属于引用类型. Array的情况稍微复杂一些,下面主要对集合类型进行分析: 一.关于Dictionary:无论何时将一个字典实例赋给一个常量,或者传递给一个函数方法时,在赋值或调用发生时,都会

Swift学习笔记十二:下标脚本(subscript)

下标脚本就是对一个东西通过索引,快速取值的一种语法,例如数组的a[0].这就是一个下标脚本.通过索引0来快速取值.在Swift中,我们可以对类(Class).结构体(structure)和枚举(enumeration)中自己定义下标脚本的语法 一.常规定义 class Student{ var scores:Int[] = Array(count:5,repeatedValue:0) subscript(index:Int) -> Int{ get{ return scores[index];

Swift学习之访问控制详解

本文和大家分享的主要是swift 中访问控制相关内容,一起来看看吧,希望对大家 学习swift有所帮助. 访问控制对访问你的其他代码源文件和模块部分进行了约束.这个特性允许你隐藏你的代码实现,并且指定通过其可以访问和使用该代码的优选接口. class , structure  和  enumeration  都可以指定访问级别,当然, property , method , initializer  和 属于这里类型的  subscript . protocol 可以限制到某个上下文,全局变量,

swift基础学习(04)[运算符、属性、属性观察器、方法、下脚标本、继承、构造器]

//swift恒等运算符 //===恒等,不等!== //运用这两个运算符检测两个常量或者变量是否引用同一个实例 //"等价于"表示两个类类型(class type)的常量或者变量引用同一个类实例. //等于"表示两个实例的值"相等"或"相同",判定时要遵照设计者定义的评判标准,因此相对于"相 等"来说,这是一种更加合适的叫法. //类和结构体的选择 //属性的存储只能是类或者是结构体 //存储属性:变量存储属性va

swiftDay01笔记 --swift和OC的不同点 && swift的基础语法

1.创建对象 带圆括号 * OC:      alloc initWithXXX 方法 * Swift:   (xxx:) //OC : //UIView *view = [UIView alloc]init]; //Swift : let view = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100)) 2.方法调用   用点 * OC:     [UIColor redColor]; * Swift    UIColor.re

Swift -- enum 继承 protocol

原文地址链接:http://blog.csdn.net/duanyipeng/article/details/32338575 Apple官方文档:The Swift Programming LanguageProtocols and Extensions一节的小节练习,要求自行定义一个enumeration枚举类型,并且遵循ExampleProtocol协议: protocol ExampleProtocol { var simpleDescription: String { get } mu

学习 swift (1)

https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/DevelopiOSAppsSwift/Lesson1.html#//apple_ref/doc/uid/TP40015214-CH3-SW1 这个链接里面介绍的 swift 的语法大部分都很容易理解.对于部分特别的地方做下记录 Structures support many of the same behaviors as cla

Swift中文手册 -- Subscripts

附属脚本 附属脚本 可以定义在类(Class).结构体(structure)和枚举(enumeration)这些目标中,可以认为是访问对象.集合或序列的快捷方式,不需要再调用实例的特定的赋值和访问方法.举例来说,用附属脚本访问一个数组(Array)实例中的元素可以这样写someArray[index] ,访问字典(Dictionary)实例中的元素可以这样写 someDictionary[key]. 对于同一个目标可以定义多个附属脚本,通过索引值类型的不同来进行重载,而且索引值的个数可以是多个.