// 定义枚举方式一
enum Season {
// 每个case定义一个实例
case Spring
case Summer
case Fall
case Winter
}
// 定义枚举方式二
enum Weekday {
// 使用一个case列出所有枚举实例
case Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
} // 使用枚举声明变量
var day : Weekday
// 使用已有的枚举实例赋值
day = Weekday.Sunday
day = .Wednesday // 自动推断为Weekday类型 // 枚举与switch语句一起使用
var chooseDay = Weekday.Saturday
switch chooseDay {
case .Monday:
print("Monday")
case .Tuesday:
print("Tuesday")
case .Friday:
print("周五")
// 如果没有列举出所有的情况,需要在最后加入一个default来处理其他情况的默认处理
default:
print("other day")
}
// 原始值
/* enum 枚举名 : 原始值类型 {
case 枚举值 = 原始值
} */
enum WeekdayHasRawValue: Int {
case Monday, Tuesday = 1, wednesday = 5, Sunday
} enum SeasonHasRawValue: Character {
case Spring = "S"
case Summer = "U"
case Fall = "F"
case Winter = "W"
}
var aDay = WeekdayHasRawValue.Sunday
print(".Sunday的原始值为:\(aDay.rawValue)")
var mySeason = SeasonHasRawValue.init(rawValue: "S")
// 可能失败的构造器,所以这里要用if let 可选绑定来判断
if let s = mySeason {
switch s {
case .Spring:
print("Spring")
default:
print("not Spring")
}
}

  

Swift学习二的更多相关文章

  1. swift学习二:基本的语法

    声明本文转载自:http://www.cocoachina.com/applenews/devnews/2014/0603/8653.html Swift是什么? Swift是苹果于WWDC 2014 ...

  2. 【swift学习笔记】二.页面转跳数据回传

    上一篇我们介绍了页面转跳:[swift学习笔记]一.页面转跳的条件判断和传值 这一篇说一下如何把数据回传回父页面,如下图所示,这个例子很简单,只是把传过去的数据加上了"回传"两个字 ...

  3. iOS ---Swift学习与复习

    swift中文网 http://www.swiftv.cn http://swifter.tips/ http://objccn.io/ http://www.swiftmi.com/code4swi ...

  4. Swift学习与复习

    swift中文网 http://www.swiftv.cn http://swifter.tips/ http://objccn.io/ http://www.swiftmi.com/code4swi ...

  5. 今天开始Swift学习

    今天开始Swift学习  在此记录笔记  以备之后查阅! allenhuang

  6. emberjs学习二(ember-data和localstorage_adapter)

    emberjs学习二(ember-data和localstorage_adapter) 准备工作 首先我们加入ember-data和ember-localstorage-adapter两个依赖项,使用 ...

  7. 12套swift学习资源分享

    虽然objective-c编程语言在过去很长一段时间都是iOS应用开发的基础语言,且很多iOS开发者对其也深爱有佳,但是随着swift编程语言的问世,迅速发展为开发者追捧的语言.且今年伴随着swift ...

  8. ReactJS入门学习二

    ReactJS入门学习二 阅读目录 React的背景和基本原理 理解React.render() 什么是JSX? 为什么要使用JSX? JSX的语法 如何在JSX中如何使用事件 如何在JSX中如何使用 ...

  9. TweenMax动画库学习(二)

    目录            TweenMax动画库学习(一)            TweenMax动画库学习(二)            TweenMax动画库学习(三)            Tw ...

随机推荐

  1. Linux_日志管理介绍(一)

    一.介绍 1.CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务,但是rsyslogd是和syslogd服务相兼容的 2.除了系统默认的日志之外,采用RPM方式安装的系 ...

  2. css3 操作动画要点

    CSS3 有3种和动画相关的属性:transform, transition, animation. 不同点: 1.  触发条件不同.transition通常和hover等事件配合使用,由事件触发.a ...

  3. 提供RESTful服务

    RESTful广泛运用于互联网服务,而在企业应用中,大部分场景仍然是RPC服务,这是由于企业应用的业务复杂性造成的.但是基于SOAP的RPC服务也存在很多的弊端,比如服务异步处理比较麻烦,大部分RPC ...

  4. Spring Security3学习实例

    Spring Security是什么? Spring Security,这是一种基于Spring AOP和Servlet过滤器的安全框架.它提供全面的安全性解决方案,同时在Web请求级和方法调用级处理 ...

  5. 【Codeforces 723D】Lakes in Berland (dfs)

    海洋包围的小岛,岛内的有湖,'.'代表水,'*'代表陆地,给出的n*m的地图里至少有k个湖,求填掉面积尽量少的水,使得湖的数量正好为k. dfs找出所有水联通块,判断一下是否是湖(海水区非湖).将湖按 ...

  6. JVM学习笔记:虚拟机性能监控

    JDK中除了包含与开发密切相关的jar包外,还包含了很多非常实用的工具.在%JAVA_HOME%\bin\目录下面除了命令行工具外,还包括了几个强大的可视化工具.这些工具可以辅助我们开发.调试应用程序 ...

  7. SCP注意事项

    scp hdfs-site.xml hxsyl@192.168.58.181:/home/..../etc/hadoop/ 中间路径省略了,刚开始没加冒号提示同样的文件,还以为是scp需要特殊指令才能 ...

  8. 警告 “util.NativeCodeLoader: Unable to load native-hadoop library for your platform”

    http://blog.csdn.net/sagaryu/article/details/52137989 我的是2.6.4,用上面链接提供的编译好的资源覆盖原来的就好了. 不管也没事. 就是因为系统 ...

  9. BZOJ3436 小K的农场

    Description 背景 小K是个特么喜欢玩MC的孩纸... 描述 小K在MC里面建立很多很多的农场,总共n个,以至于他自己都忘记了每个农场中种植作物的具体数量了,他只记得 一些含糊的信息(共m个 ...

  10. 用ProGet搭建内部的NuGet服务器(更新安装步骤)

    以下是转自dudu的文章,但是我发觉时间的问题,他的安装方法已经不适用了,所以这里我更新了安装方法: 最近团队内部用的一个很简陋的NuGet服务器出问题了,nuget push发包,客户端显示发布成功 ...