Swift学习笔记之基础知识

此文章是自己学习swift时的笔记,只是为了备忘,理解不到位的地方请指正。

1. 常量和变量

(1)简单的说常量就是声明以后不可变,变量就是在被声明以后可变。IOS中声明常量用let, 声明变量用var,例如:

let maximumNumberOfLoginAttempts = 19
var currentLoginAttempt = 2

(2)一次声明多个变量:

var x = 1.0, y = 2.0, z = 3.0

(3)声明变量的类型:

var welcomeMessage: String

表示声明了一个名字为welcomeMessage的变量,其类型为String。
(4)一次声明多个同种类型的变量:

var red, green, blue: Double

2. Integers
获得整形的范围:

let minValue = UInt8.min
let maxValue = UInt8.max

3. Type Aliases
Type Aliases 就是为已有类型定义一个别名,可以通过名字调用。使用typealias关键字定义:

typealias AudioSample = UInt16
var maxAmplitudeFound = AudioSample.min

这里AudioSample作为UInt16的别名,可以在任何地方使用。
4. Boolean
在swift里,Boolean的值为true or false
5. Tuples
a. 声明一个元组,例如:let http404Error = (404, "Not Found")

b. 接收值:let (statusCode, statusMessage) = http404Error
c. 如果只是需要元组中的部分值,可以使用下划线:let (justTheStatusCode, _) = http404Error
d. 调用元组中的值println("The status code is \(http404Error.0)")
也可以通过名字调用

let http200Status = (statusCode: 200, description: "OK")
println("The status code is \(http200Status.statusCode)")

6. Optionals
a. 简单的说optionals的意思就是一个变量的值可能为空。定义一个optional变量:

var surveyAnswer: String?

b. 如果确定一个变量有值,可以用forced unwrapping:

let possibleNumber = "123"
let convertedNumber = possibleNumber.toInt()
if convertedNumber != nil {
    println("convertedNumber has an integer value of\(convertedNumber!).")
}

c. optional binding
格式如下:

if let constantName = someOptional {
    //statements
}

multiple optional binding格式如下:

if let constantName = someOptional, anotherConstantName = someOtherOptionl{
    //statements
}

7. Asserations(断言)
断言可以用来发现和定位错误,使用如下:

let age = 20
assert(age > 20, "你是成年人啦!")

在Swift中,通过assert函数实现断言,其中第一个参数为判断条件,第二个参数为条件不满足时的打印信息。
如果断言被触发,将会强制结束程序,并输出相关信息:

assertion failed: 你是成年人啦!

8. Operators
关于swift中的operators,可以查阅相关的文档研究其用法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值