Swift学习二
// 定义枚举方式一
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学习二的更多相关文章
- swift学习二:基本的语法
声明本文转载自:http://www.cocoachina.com/applenews/devnews/2014/0603/8653.html Swift是什么? Swift是苹果于WWDC 2014 ...
- 【swift学习笔记】二.页面转跳数据回传
上一篇我们介绍了页面转跳:[swift学习笔记]一.页面转跳的条件判断和传值 这一篇说一下如何把数据回传回父页面,如下图所示,这个例子很简单,只是把传过去的数据加上了"回传"两个字 ...
- iOS ---Swift学习与复习
swift中文网 http://www.swiftv.cn http://swifter.tips/ http://objccn.io/ http://www.swiftmi.com/code4swi ...
- Swift学习与复习
swift中文网 http://www.swiftv.cn http://swifter.tips/ http://objccn.io/ http://www.swiftmi.com/code4swi ...
- 今天开始Swift学习
今天开始Swift学习 在此记录笔记 以备之后查阅! allenhuang
- emberjs学习二(ember-data和localstorage_adapter)
emberjs学习二(ember-data和localstorage_adapter) 准备工作 首先我们加入ember-data和ember-localstorage-adapter两个依赖项,使用 ...
- 12套swift学习资源分享
虽然objective-c编程语言在过去很长一段时间都是iOS应用开发的基础语言,且很多iOS开发者对其也深爱有佳,但是随着swift编程语言的问世,迅速发展为开发者追捧的语言.且今年伴随着swift ...
- ReactJS入门学习二
ReactJS入门学习二 阅读目录 React的背景和基本原理 理解React.render() 什么是JSX? 为什么要使用JSX? JSX的语法 如何在JSX中如何使用事件 如何在JSX中如何使用 ...
- TweenMax动画库学习(二)
目录 TweenMax动画库学习(一) TweenMax动画库学习(二) TweenMax动画库学习(三) Tw ...
随机推荐
- iOS开发中的错误整理,IOS9中canOpenURL调用失败分析
由于IOS加入对用户隐私以及禁止扫描系统信息的控制,目前通过canOpenURL的方法来判断用户是否安装特定app,则会出现-canOpenURL: failed for URL: "ABC ...
- Java 测试代码模板
package com.robert.service; import org.apache.commons.logging.Log; import org.apache.commons.logging ...
- git 删除和重命名文件
1. 删除文件 git rm a.txt git rm--cached filename 会删除索引中的文件并把它保留在工作目录中 而 git rm 则会将文件从索引和工作目录中都删除 文件删除后的恢 ...
- kkt
- nginx正向代理,反向代理,透明代理(总结)
1正向代理 正向代理,也就是传说中的代理,他的工作原理就像一个跳板, 简单的说, 我是一个用户,我访问不了某网站,但是我能访问一个代理服务器 这个代理服务器呢,他能访问那个我不能访问的网站 于是我先连 ...
- 状态压缩 poj 3254
n * m 个玉米 n*m个数字 0 或者1 1可以种玉米 0 不能 种玉米不能相邻 计算有几种 种的方法 #include<stdio.h> #include<algorithm ...
- php实现木桶排序
今天重新看了看木桶排序,思路比较简单,这里整理一下,免得下次忘记. 假设要对一组数据 2 2 3 1 6 5 4 进行桶排序. 1.首先选出最小元素1和最大元素6,做一个桶,也就是定义一个1-6的数组 ...
- MyEclipse10安装SVN插件
一.下载SVN插件subclipse 下载地址:http://subclipse.tigris.org/servlets/ProjectDocumentList?folderID=2240 在打开的网 ...
- Vi命令:如何删除全部内容?
在命令模式下,输入:.,$d 一回车就全没了. 表示从当前行到末行全部删除掉. 用gg表示移动到首行.
- 编译器角度看C++复制构造函数
[C++对象模型]复制构造函数的建构操作 关于复制构造函数的简单介绍,可以看我以前写过的一篇文章C++复制控制之复制构造函数该文章中介绍了复制构造函数的定义.调用时机.也对编译器合成的复制构造函数行为 ...