我努力學習斯威夫特,它正在變成是從其他語言更多不同的比我預期的...指定文本字段值變量斯威夫特
我只是想存儲用戶輸入的值作爲變量中的整數。
我嘗試導致以下錯誤: 「致命錯誤:意外發現零而展開的可選值」
我曾經嘗試這樣做多種方式,似乎無法拿出一個解決方案,我知道必須有一個簡單的方法來做到這一點。
var intNumber: Int = 0
@IBOutlet weak var txt_Number: UITextField!
for view in self.view.subviews as [UIView]{
if let txt = view as? UITextField
{
if let txtData = txt.text where txtData.isEmpty
{
// Error Message
}
else
{
intNumber = Int(txt_Number.text)
}
}
}
我知道上面的代碼是不正確的,但我認爲這是最接近正確的我來了。就解包而言,我似乎錯過了一些東西。我理解解包的原理,但我沒有嘗試過編譯,或者如果它編譯的話,當代碼啓動時(按下按鈕時啓動代碼),它會失敗並出現上述錯誤。
感謝您的高級幫助!
更好的告訴他使用'intNumber = Int(txtData)?? 0',所以我們可以防止一個問題關於可選錯誤:)。 – Eendje
@Eendje - 同意。或者使用一個'guard'語句來相應地賦值。 – Rob