您的位置:首页 > 移动开发 > Swift

SWIFT 2.0 复习笔记

2015-08-27 15:36 375 查看
一,基础部分

1,声明常量和变量
可以在一行中声明多个常量或者多个变量,用逗号隔开:
var x = 1, y = 2, z = 3

2,类型标注( type annotation )
var welcomeMessage: String
//声明中的冒号代表着“是...类型”,所以这行代码可以被理解为:“声明一个类型为String,名字为welcomeMessage的变量。”
//“类型为String”的意思是“可以存储任意String类型的值。”
//welcomeMessage变量现在可以被设置成任意字符串:
welcomeMessage = "Hello"

可以在一行中定义多个同样类型的变量,用逗号分割,并在最后一个变量名之后添加类型标注:var red, green, blue: Double

3,注释
/* 这是第一个多行注释的开头
/* 这是第二个被嵌套的多行注释 */
这是第一个多行注释的结尾 */

4,整数和浮点数转换
转换必须显式指定类型
let three = 3
let pointOneFourOneFiveNine = 0.14159
let pi = Double(three) + pointOneFourOneFiveNine
// pi 等于 3.14159,所以被推测为 Double 类型

5,类型别名(type aliases)
就是给现有类型定义另一个名字,可以使用typealias关键字来定义类型别名

6,元祖(tuples)
把多个值组合成一个复合值。元组内的值可以是任意类型,并不要求是相同类型

let http404Error = (404, "Not Found")
// http404Error 的类型是 (Int, String),值是 (404, "Not Found")

可以将一个元组的内容分解成单独的常量和变量,然后就可以正常使用它们了:
let (statusCode, statusMessage) = http404Error
print("The status code is \(statusCode)")
//输出"The status code is 404"
print("The status message is \(statusMessage)")
//输出"The status message is Not Found"

如果只需要一部分元组值,分解的时候可以把要忽略的部分用下划线(_)标记:
let (justTheStatusCode, _) = http404Error
print("The status code is \(justTheStatusCode)")
// 输出 "The status code is 404"

还可以通过下标来访问元组中的单个元素,下标从零开始:

print("The status code is \(http404Error.0)")
// 输出"The status code is 404"
print("The status message is \(http404Error.1)")
// 输出"The status message is Not Found"

给元组中的元素命名后,可以通过名字来获取这些元素的值:
print("The status code is \(http200Status.statusCode)")
// 输出"The status code is 200"
print("The status message is \(http200Status.description)")
// 输出"The status message is OK"

7,可选类型 (optionals)
可选类型表示: 有值 或者 没有值
Swift 的String类型有一个叫做toInt的方法,作用是将一个String值转换成一个Int值。然而,并不是所有的字符串都可以转换成一个整数。字符串"123"可以被转换成数字123,但是字符串"hello, world"不行。

nil: nil不是指针——它是一个确定的值,用来表示值缺失。任何类型的可选状态都可以被设置为nil,不只是对象类型。
可以给可选变量赋值为nil来表示它没有值:
var serverResponseCode: Int? = 404
// serverResponseCode 包含一个可选的 Int 值 404
serverResponseCode = nil
// serverResponseCode 现在不包含值
注意:nil不能用于非可选的常量和变量。如果代码中有常量或者变量需要处理值缺失的情况,请把它们声明成对应的可选类型。

如果声明一个可选常量或者变量但是没有赋值,它们会自动被设置为nil:
var surveyAnswer: String?
// surveyAnswer 被自动设置为 nil 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: