[英]How to prevent iOS app from crashing due to empty textfields?
我需要找出一種解決方案,以防止在文本字段中未輸入值時應用程序崩潰。 這個想法是如果文本字段為空(nil),則該文本字段的值將等於零。 下面我復制了我的代碼:
讓 taxPercentDou:Double = Double(taxnosign2!)!
有人有什么建議嗎?
你需要用感嘆號停止強制解包選項!
標志:
let b:Double = Double(rent.text!)!// Rent
如果rent.text
為nil 或包含非數字文本,您的應用程序將崩潰。
您可以使用空合並運算符檢查 nil 並將其替換為“0”:
rent.text ?? "0"
您可以像這樣將其傳遞給Double
初始值設定項:
Double(rent.text ?? "0")
但是,如果rent.text
包含非數字文本,這將返回nil。 您可以再次使用空合並運算符來處理此問題:
let b: Double = Double(rent.text ?? "0") ?? 0.0
您可以更進一步,編寫一個簡單的實用程序方法,使其更易於用於所有字段:
func convertToDouble(text: String?) -> Double {
return Double(text ?? "0") ?? 0.0
}
並這樣稱呼它:
let b = convertToDouble(rent.text)
請找到以下代碼。 它可能會幫助你。
static func isNull(aString: AnyObject?) -> Bool
{
//Check for null
if(aString is NSNull){
return true
}
if(aString == nil){
return true
}
let x: AnyObject? = aString
//if string is nsnumber , convert it into string and check
if(aString is NSNumber){
var aString1 : String? = ""
aString1 = String(describing: aString)
return self.isStringEmpty(aString: aString1!)
}
if let aString1 = x as? String
{
return self.isStringEmpty(aString: aString1)
}
else
{
return true
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.