Ich arbeite an einem BMICalculator. Ich kann hier keinen optionalen Wert finden. Ich wählte ein Nummernfeld als Tastatur, so dass nur Zahlen eingegeben werden konnten.Xcode-Konsolenfehlermeldung: 'Schwerwiegender Fehler: unerwartet gefunden Null beim Entpacken eines optionalen Werts' (Swift)
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if let results = segue.destinationViewController as? ResultsController {
if let height = Double(heightTextField.text!), weight = Double(weightTextField.text!) {
let info = BMIInformation(cm: height, kg: weight)
let bmi = String(info.computeBMI())
results.bmiValue.text = bmi
}
}
}
Hier ist meine Ergebnisse Controller-Klasse:
class ResultsController: UIViewController {
@IBOutlet weak var bmiValue: UILabel!
@IBOutlet weak var bmiDescription: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Welche Zeile löst die Ausnahme aus? Stellen Sie einen Breakpoint und einen einzelnen Schritt ein, um herauszufinden, was kein Nil ist, aber mein Verdacht ist, dass es "results.bmiValue" ist. Sie sollten eine andere Eigenschaft festlegen, anstatt direkt in das nächste Feld in prepareForSegue und den Wert put that properes in das Textfeld in viewWillAppear zu schreiben – Paulw11