2016-01-18 4 views
-1

Я создаю простое приложение для добавления и вычитания. Он рандомизирует первое число, операцию и второе число. Все нормально до ввода. Предположим, что выполненный ключ работал, я хотел бы знать, как сравнивать то, что пользователь вводил с правильным ответом, а если он ошибочен, то заставьте пользователя повторно ввести ответ. Вот код:Как проверить UITextField для определенных чисел в Swift?

import UIKit 

class ViewController: UIViewController, UITextFieldDelegate { 
@IBOutlet weak var firstNumber: UILabel! 
@IBOutlet weak var operation: UILabel! 
@IBOutlet weak var secondNumber: UILabel! 
@IBOutlet weak var equals: UILabel! 
@IBOutlet weak var check: UITextField! 

var result = Int() 
var number1 = Int(arc4random_uniform(10)) 
var operationRandom = Int(arc4random_uniform(2)) 
var number2 = Int(arc4random_uniform(10)) 
var op = "+" 
var wrong = "wrong" 
@IBAction fund enter(sender: AnyObject) { //linked to the UITextField 

    if operationRandom == 0{ 
     result = number1 - number2 

    }else{ 
     result = number1 + number2 
    } 

    if check.text == "\(result)"{ 
     number1 = Int(arc4random_uniform(10)) 
     operationRandom = Int(arc4random_uniform(2)) 
     number2 = Int(arc4random_uniform(10)) 
    }else{ 
     check.placeholder = "Wrong" 
     } 

} 
override func viewDidLoad() { 
    super.viewDidLoad() 

    // Do any additional setup after loading the view, typically from a nib. 
    firstNumber.text = "\(number1)" 
    secondNumber.text = "\(number2)" 
    if operationRandom == 0{ 
     operation.text = "-" 

    }else{ 
     operation.text = "+" 
    } 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 


} 
+0

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

+0

Я не знаю, как сравнить текст UITextField с фактическим результатом сложения/вычитания уравнения, и если это неверно, повторите другой ответ. – Rohorao

+0

Является ли это достаточно коротким или я должен сделать его еще короче? – Rohorao

ответ

1

Похоже, вы просто забыли установить текст и метку к новым ценностям и очистить поле проверки перед установкой местозаполнителя «Wrong».

if check.text == "\(result)"{ 
    number1 = Int(arc4random_uniform(10)) 
    operationRandom = Int(arc4random_uniform(2)) 
    number2 = Int(arc4random_uniform(10)) 
    firstNumber.text = "\(number1)" 
    secondNumber.text = "\(number2)" 
}else{ 
    check.text = "" 
    check.placeholder = "Wrong" 
} 
+0

Это может сработать, если у меня проблема с клавиатурой исправлена. Как только я исправлю клавиатуру и сделаю ее спуститься, я проверю ее, если она работает. – Rohorao

+0

Спасибо, я получил клавиатуру, и это решение почти сработало. Мне просто нужно было очистить check.text, если ответ правильный :) Спасибо за помощь. – Rohorao

+0

Добро пожаловать, рад, что это сработало – Bek

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