Я пытаюсь использовать кнопку UIswitch, чтобы изменить мой расчет в формуле.Вот как это работает, у меня есть приложение для продажи вещей, поэтому, если пользователь хочет добавить опцию в свою продажу, такую как гарантия или страховка, он должен нажать на переключатель UI.Если он включен, появляется текстовое поле, и он вводит количество месяцев для гарантии и страхования, а затем по формуле рассчитывается общая стоимость.Поэтому мне удалось заставить UI-переключатель появляться или исчезать, если включен или выключен.Я не понимаю, как изменить формулу в зависимости от того, включена она или нет.Я пытаюсь сделать оператор if согласно текстовому полю скрытым или нет, но он не работает.
@IBAction func switchWarranty(_ sender: UISwitch) {
if (sender.isOn == true){
textFieldWarranty.isHidden = false
}else{
textFieldWarranty.isHidden = true
textFieldWarranty.text = ""
}
}
@IBAction func switchInsurance(_ sender: UISwitch) {
if (sender.isOn == true){
textFieldInsurance.isHidden = false
}else{
textFieldInsurance.isHidden = true
textFieldInsurance.text = ""
}
}
@IBAction func test(_ sender: Any) {
if let price1 = Float (textFieldPrice1.text!){
if let warranty = Float (textFieldWarranty.text!){
if let insurance = Float (textFieldInsurance.text!){
if let price2 = Float (TextFieldPrice2.text!){
if textFieldWarranty.isHidden == false && textFieldInsurance.isHidden == false {
let Total = ((price1 * (warranty * 0.03748)) * (insurance * 0.4729)) / price2
Label.text = "\(Total)) prix rentable"
} else if textFieldWarranty.isHidden == false && textFieldInsurance.isHidden == true {
let Total = (price1 * (warranty * 0.03748) / (price2 * 0.115)
Label.text = "\(Total)) prix garantie"
} else if textFieldWarranty.isHidden == true && textFieldInsurance.isHidden == false {
let Total = ((price1 * (insurance * 0.4729)) / price2
Label.text = "\(Total)) prix assure"
} else if textFieldWarranty.isHidden == true && textFieldInsurance.isHidden == true {
let Total = price 1 / price2
Label.text = "\(Total)) prix exclus"
} else{
Label.text = "erreur"
}