首页 > 代码库 > Swift语法中关于"!"和"?"的解析

Swift语法中关于"!"和"?"的解析

在具体的操作前添加!符号,好吧,这又是什么诡异的语法?!

let digit = sender.currentTitle!

这里的!表示“我确定这里的的strValue一定是非nil的,尽情调用吧” ,例如

if userIsInTheMiddleOfTypingANumber {   //== true
            display.text = display.text! + digit
        }
{}里的display.text一定是非nil的,所以就能直接加上!,强制拆包(unwrap)并执行后面的操作。 当然如果不加判断,display.text不小心为nil的话,就会出错,crash掉。

关于

@IBOutlet weakvar display:UILabel!

详见Developer Documents UILabel API

 Reference:http://joeyio.com/ios/2014/06/04/swift---/

Swift语法中关于"!"和"?"的解析