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

swift新增两种类型

2016-04-16 10:54 260 查看
1.元组(tuples)类型的定义:可以包含多个值的数据类型。

元组类型变量(常量)在初始化时使用一对圆括号将元组中的值括起来。例如,下面的代码定义了一个元组类型常量。

1)定义:

(1)

let product = (20,"iPhone6",5888)//(.0
20, .1 "iPhone6", .2 5888)
即:product元组中包含了三个值,其中20是Int类型的值,"iPhone6"是String类型的值,5888是Int类型的值。

(2)let product3 = (30,name:"iPhone8",price:5988) //或者let product3 = (id:30,name:"iPhone8",price:5988)

print(product3.name)//print(product.0)

2)取值

(1) let product1 = (20,"iPhone6",5888)

var(id,name,price) = product1//分别将product1中3个值赋给3个变量(id,name,price)

print("id=\(id),name = \(name),price = \(price)")

(2)let (_,name1,_) = product1

print("name1=\(name1)")

注:如果我们只想获取元组类型值中的一个或几个值,并不想全部获取这些值,可以使用下划线占位。

2.可选类型的定义:允许变量(常量)中没有值(被设为nil)。要注意的是,swift中的nil和Objective-C中的nil不一样。前者的nil表示没有值,后而的nil表示变量值为空。

1)?(一般转换类型,声明变量时需要加?)

var numStr:String = "a123"

var value:Int? = numStr.toInt()//value必须定义为可选的Int类型,否则无法成功编译。

print(value) //加了?后,表示如果此时value转换失败,如果在oc中可能程序就崩溃了,而swift不会,此处会赋值为nil.

2)!

所以在可选变量时,后面加感叹号是为了在该变量(常量)中没有值(为nil)时抛出运行时异常。

一般情况下,每次在使用时都加感叹号挺麻烦的,所以干脆在定义可选类型变量(常量)时将问号改成感叹号,这样就可以直接引用这些可选类型变量和常量了。

(在其它语言中,不添加错误捕捉,可能会抛出异常,而在swift中,如果转换失败,就直接返回nil)

3.注释

swift与C++的注释基础上(单行注释、多行注释),不过swift对多行注释做了扩展。

/*上层的多行注释

/*嵌套的多行注释

*/

*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: