Swift3.0基础语法学习<三>
枚举和结构体:
//
// ViewController3.swift
// SwiftBasicDemo
//
// Created by 思 彭 on 16/11/16.
// Copyright © 2016年 思 彭. All rights reserved. // 枚举和结构体 import UIKit class ViewController3: UIViewController { override func viewDidLoad() {
super.viewDidLoad()
self.title = "枚举和结构体"
// 1. 枚举的使用
let ace = Rank.ace
print(ace) // ace
let acrRawValue = ace.rawValue
print(acrRawValue) // if let convertedRank = Rank(rawValue: ) { let threeDescription = convertedRank.simpleDescription()
print(threeDescription) //
} // 2.
let hearts = Suit.hearts
let heartedDescription = hearts.simpleDescription()
print("heartedDescription = \(heartedDescription)") // 3.
let success = ServerResponse.result("6:00 am", "8:09 pm")
let failure = ServerResponse.failure("Out of cheese.") switch success {
case let .result(sunrise, sunset):
print("Sunrise is at \(sunrise) and sunset is at \(sunset).")
case let .failure(message):
print("Failure... \(message)") }
// 4.结构体
let structVar = Card(rank: .ace, suit: .hearts)
print(structVar.simpleDescription()) } // 定义枚举
enum Rank: Int {
case ace =
case two, three, four,five, six, seven, eight, nine, ten
case jack, queen, king
func simpleDescription() -> String { switch self { case .ace:
return "ace"
case .jack:
return "jack"
case .queen:
return "queen"
case .king:
return "king"
default:
return String(self.rawValue)
}
}
}
// 定义枚举
enum Suit {
case spades, hearts, diamonds, clubs
func simpleDescription() -> String {
switch self {
case .spades:
return "spades"
case .hearts:
return "hearts"
case .diamonds:
return "diamonds"
case .clubs:
return "clubs"
}
}
} // 定义枚举元组
enum ServerResponse {
case result(String, String)
case failure(String)
} // 定义结构体
struct Card {
var rank: Rank
var suit: Suit
func simpleDescription() -> String { return "The \(rank.simpleDescription()) of \(suit.simpleDescription())"
}
}
}
Swift3.0基础语法学习<三>的更多相关文章
- Swift3.0基础语法学习<一>
// // ViewController.swift // SwiftBasicDemo // // Created by 思 彭 on 16/11/15. // Copyright © 2016年 ...
- Swift3.0基础语法学习<二>
对象和类: // // ViewController2.swift // SwiftBasicDemo // // Created by 思 彭 on 16/11/15. // Copyright © ...
- Swift3.0基础语法学习<五>
异常处理: // // ViewController5.swift // SwiftBasicDemo // // Created by 思 彭 on 16/11/16. // Copyright © ...
- Swift3.0基础语法学习<四>
协议和扩展: // // ViewController4.swift // SwiftBasicDemo // // Created by 思 彭 on 16/11/16. // Copyright ...
- swift3.0基础语法
swift 3.0 基础语法 目录 01-变量和常量 02-运算符 03-可选项 04-条件语句 05-循环 06-字符串 07-元组 08-数组 09-字典 10-对象和类 11-枚举 12-属性 ...
- swift3.0基础语法(2)
变量/常量,元组声明 var aaa = 0;//声明变量aaa 首次赋值时自动解析为Int类型 var aaa:Int = 0;//声明Int类型变量aaa let aaa = 0;//声明常量aa ...
- 学习java之基础语法(三)
学习java之基础语法(三) java运算符 计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量.我们可以把运算符分成以下几组: 算术运算符 关系运 ...
- Swift基础语法学习总结(转)
Swift基础语法学习总结 1.基础 1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift使用print和println打印,它的传参是一个泛型 ...
- Swift基础语法学习总结
Swift基础语法学习总结Swift高级语法学习总结Swift语法总结补充(一) 1.基础 1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift ...
随机推荐
- Android Studio debug使用release的签名
当我们在做微信微博sdk分享的时候调试非常麻烦,因为要使用对应的签名版本才能调用sdk成功. 当我们使用AndroidStudio的Gradle之后会很简单的解决这个问题. 1.我们把签名文件放到工程 ...
- 如果在代码中使用JS
protected void Page_Load(object sender, EventArgs e) { //获得.js文件 string myscript = ...
- Appium自动化时,如何快速获得Android app的包名和启动页
在app自动化的时候,经常被问道如何知道app的包名和启动页名称.这个问题很简单: 1. 最直接的方式,去问开发啊,他们告诉你app的包名和启动页. 2. 如果你比较腼腆,又能看到/懂代码,自己把代码 ...
- JUQERY 获取同名称的所有CHECKBOX ,获取已经选择的,并且jquery进行勾选!
var @(Perfix)_CheckArray=[]; @(Perfix)_CheckArray.length=0; var checkedItems = $('input[name="@ ...
- 在Linux下安装PHP过程中,编译时出现错误的解决办法
在Linux下安装PHP过程中,编译时出现configure: error: libjpeg.(a|so) not found 错误的解决办法 configure: error: libjpeg.(a ...
- 过滤HTML代码
public static string FilterHtml(string string_include_html) { string[] HtmlRegexArr ={ #region Html ...
- Eclipse下新建Maven项目、自动打依赖jar包
当我们无法从本地仓库找到需要的构件的时候,就会从远程仓库下载构件至本地仓库.一般地,对于每个人来说,书房只有一个,但外面的书店有很多,类似第,对于Maven来说,每个用户只有一个本地仓库,但可以配置访 ...
- mysql--1130ERROR
问题一:mysql 用户登录不用验证密码(用户已设密码) 安装好mysql 后,我发现我设立了密码,同样可以不用密码就能登陆 cmd>mysql cmd>select current_us ...
- Java事务处理全解析(四)—— 成功的案例(自己实现一个线程安全的TransactionManager)
在本系列的上一篇文章中我们讲到,要实现在同一个事务中使用相同的Connection对象,我们可以通过传递Connection对象的方式达到共享的目的,但是这种做法是丑陋的.在本篇文章中,我们将引入另外 ...
- Hibernate工作原理
现在我们知道了一个概念Hibernate Session,只有处于Session管理下的POJO才具有持久化操作能力.当应用程序对于处于Session管理下的POJO实例执行操作时,Hibernate ...