swift新增两种类型

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对多行注释做了扩展。

/*上层的多行注释

    /*嵌套的多行注释

   */

*/


你可能感兴趣的:(ios,swift)