问答详情
源自:2-5 Swift-可选型 Optionals

关于可选值与可选值绑定的问题

let inputContent = "78" 

var sss = inputContent.toInt()

if sss != nil

{

    println("转变成int型\(sss)");//println("转变成int型\(sss!)")   

    println("输出sss" + String(sss!))          A //  这一句与B处我没有明白判断句有什么大的差别,但是这里不加“!”会报错,而B处的加了“!”号就会报错。。。这是什么原因我不懂,请大家解析一下

}else

{

    println("没有转变成int型")

}



//optional binding

if var ddd = inputContent.toInt()

{

    println("输出ddd" + String(ddd))           B

}



let instr:String? = "dfksjf"

instr

instr!


提问者:qq_风轻云淡_1 2015-03-31 11:14

个回答

  • 发条橙
    2015-03-31 11:32:59
    已采纳

    sss 的类型是String?

    ddd的类型也是String?但是在if语句中 if var ddd = inputContent.toInt()已经相当于把他变成了String类型了

    你可以回去在仔细看下optional的那节课 有详细说明

  • qq_风轻云淡_1
    2015-04-03 14:23:16

    恩恩,好的

  • qq_风轻云淡_1
    2015-03-31 11:40:25

    也就是说直接放在if后面赋值就是把可选值binding了么???