1:swift的枚举类型是一系列的值,不同于c语言中枚举类型是整数类型。每个枚举定义了个新的类型

2:switch类型匹配

2.1枚举类型和switch单个匹配


enum PlatType{

case Plane, Ship, Train, Car

}

var eTransport:PlatType = PlatType.Ship
switch eTransport {
case .Plane:
println("plane")
//case .Ship:
// println("ship")
//case .Train:
// println("train")
case .Car:
println("car")
default:
println("default")
}

关于switch语句,必须是完备的。如上所示,如果没有把所有case写完整,那么就需要加上default语句。如上代码,会进入default语句。如果所有case都写完整了,那么可以不需要default语句。另外,不同与c语言等,swift语言的switch语句的case会自动break。

2.2 关联值枚举类型

enum OtherType{
case Point(Int, Int)
case Name(String)
}
var type:OtherType = .Name("xd")
type = .Point(, )
switch type{
case .Point(let iX, let iY):
println("point X:\(iX) Y: \(iY)")
case .Name(let strName):
println("name:\(strName)")
}

2.3 初始值设定。初始值类型必须要一致。

enum InitalSettingType:Character{
case CharacterX = "a"
case CharacterY = "r"
}
enum InitalIntType:Int{
case Monday = , Tuesday, Wednesday, Thursday, Friday, Saturday, weekday
}Int类型枚举初始值会自动+1.类似c语言枚举

如果要访问枚举类型的出事值,使用toRaw方法。

let initValue = InitalIntType.Tuesday.toRaw()
println("\(initValue)")

使用fromRaw()反向查找枚举类型值。

let value = InitalIntType.fromRaw(2)

swift 枚举类型的更多相关文章

  1. [Swift]枚举类型:UIBarButtonItem的24种样式

    UIBarButtonSystemItemFlexibleSpace 可变空白, 在调用的过程中,使用  UIBarButtonSystemItemFlexibleSpace去占位,达到实现规范化的目 ...

  2. 窥探Swift之别样的枚举类型

    想必写过程序的童鞋对枚举类型并不陌生吧,使用枚举类型的好处是多多的,在这儿就不做过多的赘述了.Fundation框架和UIKit中的枚举更是数不胜数,枚举可以使你的代码更易阅读并且可以提高可维护性.在 ...

  3. 【Swift学习笔记00】——enumeration枚举类型遵循协议protocol

    Apple官方文档:The Swift Programming LanguageProtocols and Extensions一节的小节练习,要求自行定义一个enumeration枚举类型,并且遵循 ...

  4. 5.Swift枚举|结构体|类|属性|方法|下标脚本|继承

    1. 枚举: ->在Swift中依然适用整数来标示枚举值,需搭配case关键字 enum  Celebrity{  case DongXie,XiDu,Nandi,BeiGai }  // 从左 ...

  5. 浅谈Swift集合类型

    Swift 的集合表现形式由数组和字典组成.它可以完美的存储任何呢想存储的东西. 数组是一个同类型的序列化列表集合,它用来存储相同类型的不同值.字典也是一个数组,但它的存值方式类似于Map,通过一对一 ...

  6. [Swift]枚举

    1. Swift的枚举的基本用法: 1) 和其它语言枚举的意义相同,就是用有限的一组值(不能是无限的)来表示一些特定的含义: 2) Swift使用关键字enum定义枚举类型,定义体中用case定义成员 ...

  7. Swift枚举|结构体|类|属性|方法|下标脚本|继承

    1. 枚举: ->在Swift中依然适用整数来标示枚举值,需搭配case关键字 enum  Celebrity{  case DongXie,XiDu,Nandi,BeiGai }  // 从左 ...

  8. 【iOS】swift 枚举

    枚举语法 你可以用enum开始并且用大括号包含整个定义体来定义一个枚举: enum SomeEnumeration { // 在这里定义枚举 } 这里有一个例子,定义了一个包含四个方向的罗盘: enu ...

  9. 6.Swift教程翻译系列——Swift集合类型

    英文版PDF下载地址http://download.csdn.net/detail/tsingheng/7480427 Swift提供数组和字典两种集合类型.用来存储很多值的情况.数组有序的存储一组同 ...

随机推荐

  1. [ACM_图论] Sorting Slides(挑选幻灯片,二分匹配,中等)

    Description Professor Clumsey is going to give an important talk this afternoon. Unfortunately, he i ...

  2. [JS1] 如何嵌入

    <html> <head> <title>在HTML文档中嵌入JavaScript代码是如何嵌入到HTML文档中的.</title> <scrip ...

  3. p4 是否能自动merge

      总结: 1)如果在copy merge(-at)/auto merge(-am)后修改source branch,则可以自动被copy merge: 2)如果在manual merge后修改sou ...

  4. Html 字体大小单位 px em pt

    网页上定义字体大小有常见三种单位,px.em.pt px px是pixel缩写,是基于像素的单位.在浏览网页过程中,屏幕上的文字.图片等会随屏幕的分辨率变化而变化,一个100px宽度大小的图片,在80 ...

  5. paip.函数方法回调机制跟java php python c++的实现

    paip.函数方法回调机制跟java php python c++的实现 作者Attilax 艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http:// ...

  6. OpenCV Linux 安装 Make出错

    执行完CMake之后再执行make时遇到以下错误 [ %] Generating precomp.hpp.gch/opencv_core_Release.gch In file included /b ...

  7. 【转载】Scarbee Pre-Bass 贝司的使用教程

    Fender(芬达)的顶级型号Precision贝司的缩写! 好了,在了解完关于这个Bass音色的一些背景后,我们开始使用Pre-Bass了,先在Kontakt 3.5或Kontakt 4中读取它,由 ...

  8. BarEditItem ContentTemplate

    <dxb:BarEditItem Name="txtSearch" > <dxb:BarEditItem.ContentTemplate> <Data ...

  9. Java 模板引擎 jetbrick-template

    jetbrick-template 是一个新一代 Java 模板引擎,具有高性能和高扩展性. 适合于动态 HTML 页面输出或者代码生成,可替代 JSP 页面或者 Velocity 等模板. 指令和 ...

  10. Android开发:第四日番外——Assets文件夹和RAW文件夹区别

    话说上回说到SQLite数据库,其中涉及到把已经设计好的数据库打包到APK中,提到可以放置在Assert文件夹或者RAW文件夹中,那么两者到底有什么区别呢?让我们来探究一下. 一.res/raw和as ...