Swift中关于可选类型(?)与强制解析(!)的特性

By | 2015年5月13日

Swift中问号表示这是一个可选类型,白话翻译:某个常量或者变量可能是一个类型,也可能什么都没有,我不确定它是否真的会有值,也许会是nil

比如:

let number1 = “123”

let number2 = number1.toInt()

//number2是Int?类型 或者叫optional Int

number2,可能包含Int值,也可能什么都没有(那就是nil)

当我们通过if语句判断,number2确实有值时,可以使用感叹号来表示:我确定这个可选类型的值内有正确的内容,请使用它

if number2 != nil {

    println(number2!)

感叹号,被称为可选值的强制解析(无论如何请一定要使用这个值,我保证这里面肯定有东西),当然如果使用了感叹号,但最终没有值,则会在运行时报错!