Ich habe versucht, auf viele der Beiträge vor lesen, aber ich scheint immer noch nicht in der Lage zu "Nil" zu verstehen.Ich bin neu in der Codierung und ich verstehe nicht
let mass = Double(density! * volume!)
In diesem Abschnitt des Codes es mir erzählt „Thread 1: Fatal error: gefunden unerwartet null, während ein optionaler Wert auspackt“. Wenn ich meine App laufe, läuft es reibungslos, wenn ich nicht auf den Knopf drücke, während alle Textfelder leer sind, aber wenn ich es tue, stürzt es ab und das Debugger-Tool sagt mir, dass der Fehler hier ist, aber ich bin nicht sicher, warum es nicht tut Arbeit.
Sorry, wenn dies eine Frage ist, die ich wiederhole, verstehe ich einfach nicht die anderen nil Erklärung Foren auf Stackover Flow und Swift ist sehr verwirrend für mich, wie es ist.
import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var massInput: UITextField!
@IBOutlet weak var volumeInput: UITextField!
@IBOutlet weak var densityInput: UITextField!
@IBOutlet weak var answerOutput: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
self.view.endEditing(true)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
@IBAction func calculateButton(_ sender: UIButton) {
clearAnswer()
mvdCalc()
clearBoxes()
}//end of btn
//------------------------FUNCTIONS-----------------------------------
func mvdCalc(){
if massInput.text!.isEmpty {massFormula()}
if volumeInput.text!.isEmpty {volumeFormula()}
if densityInput.text!.isEmpty {densityFormula()}
}//end of mvdCalc
func clearBoxes(){
massInput.text = ""
volumeInput.text = ""
densityInput.text = ""
}//end of clear boxes
func massFormula(){
let density = Double(densityInput.text!)
let volume = Double(volumeInput.text!)
let mass = Double(density! * volume!)
answerOutput.text = "\(mass)"
}//end of mass
func volumeFormula(){
let density = Double(densityInput.text!)
let mass = Double(massInput.text!)
let volume = Double(mass!/density!)
answerOutput.text = "\(volume)"
}//end of volume
func densityFormula(){
let volume = Double(volumeInput.text!)
let mass = Double(massInput.text!)
let density = Double(mass!/volume!)
answerOutput.text = "\(density)"
}//end of density
func clearAnswer() {
if massInput.text == "" && volumeInput.text == "" && densityInput.text == "" {
answerOutput.text = ""
}
}//end of clearAnswer
}//end of class
https://stackoverflow.com/questions/24496830/difference-between-and-in-swift-language – Niroj