一個大的n00b這裏:-)EXC_BAD_INSTRUCTION當文本框爲空
我做了我的IOS第一個應用程序,並得到了一切,只要所有的文本字段都充滿工作。這個應用程序是一個簡單的計算應用程序,我需要一些幫助,確保該應用程序不會關閉時,字段爲空。
這是我的代碼,當按下一個簡單的計算按鈕。
class ViewController: UIViewController {
@IBOutlet weak var panelWidthTextField: UITextField!
@IBOutlet weak var panelHightTextField: UITextField!
@IBOutlet weak var panelsWideTextField: UITextField!
@IBOutlet weak var panelsHightTextField: UITextField!
@IBOutlet weak var panelPitchTextField: UITextField!
@IBOutlet weak var resultWithLabel: UILabel!
@IBOutlet weak var resultHightLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func calculatePressButton(sender: AnyObject) {
let w = Double(panelWidthTextField.text!)
let sw = Double(panelsWideTextField.text!)
let pi = Double(panelPitchTextField.text!)
let sizew = SizeWidthModel(pw:w!,psw:sw!,ptc:pi!)
resultWithLabel.text=String(sizew.width())
let h = Double(panelHightTextField.text!)
let sh = Double(panelsHightTextField.text!)
let sizeh = SizeHightModel(ph:h!,psh:sh!,ptc:pi!)
resultHightLabel.text=String(sizeh.hight())
}
}
這是我的問題。
希望有人能指點我正確的方向。
編輯: 因爲我是一個完整的n00b在這個編碼我需要更多的幫助理解這一點。我試圖添加各種解決方案,但沒有運氣。我試圖得到一個消息,當用戶離開字段爲空時彈出,因爲計算需要填寫所有字段。 如果有人有時間引導我,將不勝感激:-)
'讓W =雙(panelWidthTextField.text? 「」)' – vacawama
讓我指出你正確的方向,然後:[Swift Optionals](https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/DOC/UID/TP40014097-CH5-ID330)。這是Swift程序員的**鍵**概念。 :) – Moritz
我想你剛剛學會了爲什麼'!'被非正式地稱爲「撞車經營者」 :) – TwoStraws