我正在比较以下代码片段:
var num = Int(numTextField.text!)!
为了
if let num = Int(numTextField.text!) {}
有人能解释一下为什么if left语句不需要第二个"!"吗?这与it技术有关。如果在if let块中进行赋值,是否会隐式解包Int可选项?如果是的话,有人能解释一下其中的机制吗?
提前感谢!
guard let text = numTextField.text, num = Int(text) else { return }
- Leo Dabusvariable
变量中。 - AnthonyRif let num = numTextField.text.flatMap({Int($0)}) {...}
以消除强制解包。 - Hamish