2017-01-15 5 views
0

Я создал кучу текстовых полей и кнопок. В принципе, я хочу умножить сумму счета с суммой наконечника и делить общую сумму на количество людей. Я думал о том, чтобы сделать их переменными, но не знал, как это сделать.Мне нужно умножить 2 UItextfields

@IBOutlet weak var billAmount: UITextField! 
@IBOutlet weak var tipAmount: UITextField! 
@IBOutlet weak var totalAmount: UITextField! 
@IBOutlet weak var numberOfPeople: UITextField! 
@IBOutlet weak var splitValue: UITextField! 

@IBAction func splitBill(_ sender: UIButton) { 
    splitValue.text = totalAmount/numberOfPeople 
} 

@IBAction func totalAmount(_ sender: UIButton) { 
    let newBillAmount = 
    totalAmount.text = billAmount * tipAmount 
} 

ответ

0

В основном вы должны иметь в виду, что ваши IBOutlets ссылаемся UITextFields, а не числа.

Так что, имея в виду, вам нужно преобразовывать строки из двух строк в пары. Это означает, что вы можете попытаться разобрать Двойной из строки таким образом:

var text = String("5.0") 
var double = Double(text) 
print(double) // prints "5.0" 

Я также сделал это «безопасным» для вас в том смысле, что если текст не является двойным, если заявление не будет выполняться, и, следовательно, вы не получите ошибок времени выполнения, просто ничего не произойдет. Это работает так же, как не существует «текста» в UITextFields, где if-statement не будет выполнен, и вы просто попросите приложение ничего не сделать.

Сочетание всех этих вещей дает нам что-то вроде этого:

class VC: UIViewController { 
    @IBOutlet weak var billAmount: UITextField! 
    @IBOutlet weak var tipAmount: UITextField! 
    @IBOutlet weak var totalAmount: UITextField! 
    @IBOutlet weak var numberOfPeople: UITextField! 
    @IBOutlet weak var splitValue: UITextField! 

    @IBAction func splitBill(_ sender: UIButton) { 
     if let totalAmountValue = Double(totalAmount.text!), let numberOfPeopleValue = Double(numberOfPeople.text!) { //safely get double values 
      splitValue.text = String(totalAmountValue/numberOfPeopleValue) //convert the quotient of the doubles into a string 
     } 

    } 

    @IBAction func totalAmount(_ sender: UIButton) { 
     if let billAmountValue = Double(billAmount.text!), let tipAmountValue = Double(tipAmount.text!) { 
      totalAmount.text = String(billAmountValue * tipAmountValue) 
     } 

    } 
} 
Смежные вопросы