2015-10-27 4 views
0

У меня есть 2 текстовых поля. Если они оба имеют значение с плавающей запятой больше 100, когда вы нажимаете на мою кнопку, это должно позволить вам перейти на другую страницу.Текстовое поле и поплавки в Swift

До сих пор так хорошо, однако в моем коде текстовое поле не может иметь либо INT или поплавок или двойники ...

Что я могу сделать?

+0

изменить его на строку. textField.text = "double value: \\ (123.345)" – Lukas

ответ

0

Поскольку Лукас говорит, что вам нужно преобразовать его в строку. Если вы захватываете значение в текстовое поле на кнопку мыши, вы должны преобразовать его, например, так:

if let doubleValue = Double(textField.text!) { 

} 

Я думаю, основываясь на том, что вы сказали, что вам нужно сделать что-то вроде этого:

class ViewController: UIViewController { 

    @IBOutlet weak var box1: UITextField! 
    @IBOutlet weak var box2: UITextField! 
    @IBOutlet weak var Check: UIButton! 
    @IBOutlet weak var Page1: UILabel! 


    @IBAction func didPressCheckButton(sender: UIButton) { 
     if let stringValue = box1.text { 
      if let doubleValue = Double(stringValue) { 
       if doubleValue > 100 { 
        print("Navigate to next page") 
       } 
      } 
     } 
    } 
} 

Вам нужно будет изменить проверку, чтобы проверить, имеют ли оба текстовых поля значения более 100, но это отправная точка.

+0

#totiG 'class ViewController: UIViewController { IBOutlet weak var box1: UITextField! IBOutlet слабая коробка var2: UITextField! IBOutlet weak var Check: UIButton! IBOutlet слабый var Page1: UILabel! если пусть doubleValue = Double (box1) { } ' Нравится? (Я только начал вчера, так что это не так просто для меня, хотя я понимаю, насколько это просто, если бы у меня был небольшой опыт.) – Frederic

+0

Вы вызываете box1, который является UITextField, а не свойство text. Вам нужно позвонить, если пусть doubleValue = Double (box1.text) {} - но этот код должен быть внутри метода, например, действия для вашего UIButton – totiG

+0

. Теперь я написал его внутри своего метода, однако я получаю сообщение об ошибке: не может вызывать 'init' с аргументом типа '@ivalue String!' – Frederic

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