Swift笔记2
1.元组类型
let cat =(age:4,weight:2,cocle:"black",beauty :true)
if(cat.beauty){
printf("我就不告诉你我的小猫有 \(cat.age)岁,体重 \(cat.weight)斤");
}else{
printf("过来让我砍死 你");
}
2.optional 拆包和绑定
var tickit = "5000000" //这里是有值,如果是"luoshuailuo" toInt()之后是没有值,swift中用nil表示
var money = tickit.toInt() //string字符串转化为整形toInt()
var money1: String! = "50" //间接拆包,在类的初始化比较常用
if tickit {
printf("恭喜你,中了\(money!) 元人民币"); //但是这里会是谁optinal(5000000),不是我们想要的值,所以使用拆包 在money后面添加 !
}
那么如何绑定呢?绑定有什么作用? 绑定可以让我们在后续的代码中执行更多的操作(说了跟没说一样,以后补充吧)
if var temp = money {
var 税后 = Double(temp ) * 0.5 //temp为int类型 0.5为double ,会报错 需要转换,为大范围double转换
printf("恭喜你中了\(temp) 元人民币,缴纳税之后你的钱数我\(税后)")
}
3.断言 : 一般在程序调试的时候使用,设定一定的条件必须满足,否则程序立刻终止.
var age = 17
assert(age > 18," 必须大于18岁才可以玩这个游戏 ")
Swift笔记2的更多相关文章
- [Swift] Swift笔记
开始整理Swift笔记了.打算直接用Playground去写,里面自带的Markup语法和Markdown差不多,显示的效果也不差于博客.而且用Xcode看代码也方便.所以这部分内容不再在博客里记录了 ...
- 从0开始学Swift笔记整理(五)
这是跟在上一篇博文后续内容: --Core Foundation框架 Core Foundation框架是苹果公司提供一套概念来源于Foundation框架,编程接口面向C语言风格的API.虽然在Sw ...
- 从0开始学Swift笔记整理(四)
这是跟在上一篇博文后续内容: --重写方法 重写实例方法 在子类中重写从父类继承来的实例方法和静态方法.先介绍实例方法的重写. 下面看一个示例: class Person { var n ...
- 从0开始学Swift笔记整理(三)
这是跟在上一篇博文后续内容: --Swift中相关的属性 存储属性 Swift中的属性分为存储属性和计算属性,存储属性就是Objective-C中的数据成员,计算属性不存储数据,但可以通过计算其他属性 ...
- 从0开始学Swift笔记整理(二)
这是跟在上一篇博文后续内容: --函数中参数的传递引用 类是引用类型,其他的数据类型如整型.浮点型.布尔型.字符.字符串.元组.集合.枚举和结构体全部是值类型. 有的时候就是要将一个值类型参数以引用方 ...
- 从0开始学Swift笔记整理(一)
Swift 是一种适用于 iOS 和 OS X 应用的全新编程语言,它建立在最好的 C 和 Objective-C 语言之上,并且没有 C 语言的兼容性限制.Swift 采用安全的编程模式,增加了现代 ...
- swift 笔记 (十八) —— 扩展
扩展 扩展能够让我们给一个已有的类.结构体.枚举等类型加入�新功能,包含属性和方法,甚至是构造器,下标,支持协议等等... 甚至是我们拿不到源码的类.结构体.枚举,我们依旧能够给它加扩展... 看到这 ...
- swift 笔记 (十二) —— 下标
下标 swift同意我们为 类.结构体,枚举 定义下标,以更便捷的方式訪问一大堆属性.比方Array和Dictionary都是结构体,swift的project师已经为这两个类型提供好了下标操作的代码 ...
- swift 笔记 (十九) ——
协议
协议(Protocols) 协议仅是用定义某些任务或者是功能必须的方法和属性. 类似于java里的interface的作用.但协议并不会实现详细的功能. 我猜这个名字源于OO中提到的"契约& ...
- swift 笔记 (七) —— 关闭
关闭 封闭件是从包括以下各项的组.它可以在代码被发送"片"... 行,不纠结的定义.继续. swift的闭包,有点像C和Objective-C语言里的 代码块 {--} 闭包能够 ...
随机推荐
- HDU-1049
Description An inch worm is at the bottom of a well n inches deep. It has enough energy to climb u i ...
- PHP截取汉字乱码问题解决方法mb_substr函数的应用
首先 1.确保你的Windows/system32下有php_mbstring.dll这个文件,没有就从你Php安装目录extensions里拷入Windows/system32里面. 2.在wind ...
- python实现zabbix_sender的socket通信代码样例
sk = socket.socket() sk.connect(self.ip_port) sk.settimeout(5) sk.sendall(b'ZBXD\x01') sk.sendall(b' ...
- Ice_cream's world I--hdu2120
Ice_cream's world I Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- Swift笔记4
字符 var str = " hello world " var kong = "" 或者 var kong = string() //定义一个空的字符 ...
- VB.NET生成Excel,已存在提示框点否时报错
如题 Exception from HRESULT: 0x800A03EC 最终没有好的解决方案,只好屏蔽掉 Try obook.SaveAs(excelSaveName) Catch ex As S ...
- Delphi利用Webbrowser登陆QQ群文档
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- C# 弗洛伊德(Floyd)算法
弗洛伊德(Floyd)算法 主要是用于计算图中所有顶点对之间的最短距离长度的算法,如果是要求某一个特定点到图中所有顶点之间的最短距离可以用; ; ; ; ...
- mysql perl 抓取update语句
<pre name="code" class="html"><pre name="code" class="ht ...
- mysql 匹配update
update 语句示例: UPDATE `zjzc`.`QRTZ_SCHEDuler_state` SET `ip`='220.191.34.246' WHERE `sn`='3117764' and ...