簡體   English   中英

Swift選項和if語句

[英]Swift optionals and if let statement

我正在比較以下代碼片段:

var num = Int(numTextField.text!)!

if let num = Int(numTextField.text!) {}

有人可以向我解釋if if語句如何不需要第二個“!”。 if let塊中的賦值是否隱式解包Int可選? 如果有,任何人都可以解釋工作中的機制嗎?

提前致謝!

當你這樣做

if let num = Int(numTextField.text!){}

它將為您解包該值並檢查它是否可以將textfield的值設置為num。 如果值為nil,您將能夠像這樣處理錯誤

if let num = Int(numTextField.text!){
    print("Yes the value is not nil")
}else{
    print("Couldn't assign value to num because it's nil")
}

如果你這樣做

var num = Int(numTextField.text!)!

並且textfield為nil,您將收到運行時錯誤,您的應用程序將崩潰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM