2016-04-07 2 views
0

Теперь моя проблема в том, что когда я пытаюсь подсчитать строку оценки, если человек пишет что-то, что не совпадает с «42» в текстовом поле (которое будет таким же, как label.text), они будут наказаны на 1 минус. Если я написал что-то, что не «42», это дает мне 1 минус, но только в первый раз. Если я сделаю это снова, счет не изменится, поэтому я застрял на счете -1.Счет подсчета с быстрым

Как я могу это сделать каждый раз, когда я пишу что-то, что не «42», оно даст мне -1 очко, даже если у меня уже есть счет -1?

(Как вы можете видеть, я поставил label.text быть такой же, как textfield.text если вы задаетесь)

import UIKit 

    class ViewController: UIViewController, UITextFieldDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate { 

     // MARK: PROBERTIES 
     @IBOutlet weak var label: UILabel! 

     @IBOutlet weak var textField: UITextField! 
     @IBOutlet weak var scoreLabel: UILabel! 

     @IBOutlet weak var photoImageView: UIImageView! 
     @IBOutlet weak var label2: UILabel! 
     @IBOutlet weak var label1: UILabel! 
     let imagePicker = UIImagePickerController() 

     override func viewDidLoad() { 
      super.viewDidLoad() 


      textField.delegate = self 
      imagePicker.delegate = self 

     } 


     func textFieldShouldReturn(textField: UITextField) -> Bool { 

      textField.resignFirstResponder() 

      return true 
     } 
     func textFieldDidEndEditing(textfield: UITextField) { 
      label.text = textField.text 
      var score = 0 


      if textField.text != "42" { 
       score -= 1 
      } 

      // MARK: if-statements 

      if label.text! == "42" { 
       label1.text = "You are correct" 
       self.view.backgroundColor = UIColor.greenColor() 
       score += 10 
      } 

      if label.text != "42" { 
       label1.text = "Damn, wrong" 
       self.view.backgroundColor = UIColor.redColor() 

      } 

      if label.text!.isEmpty { 
       label1.text = "Still waiting for an answer..." 

      } 

      if label.text == "happiness" { 
       label1.text = "It is not a key element in the meaning of life" 

      } 

      if label.text == "to be happy" { 
       label1.text = "i would rather be rich" 

      } 

      if label.text == "money" { 
       label1.text = "there is more in this world than money" 

      } 

      if label.text == "There is no meaning of life" { 
       label1.text = "There is a meaning to everything" 

      } 

      if label.text == "there is no meaning of life" 
      { 
       label1.text = "there is a meaning to everything" 

      } 

      if label.text == "to be rich" { 
       label1.text = "Money does not solve every problem" 


      } 

      var scoreString = String(score) 
      scoreLabel.text = "Your score is \(scoreString)" 


     } 
+0

Привет, что именно вы подразумеваете под «Как я могу это делать каждый раз, когда я пишу что-то, что не« 42 », оно даст мне -1 очко, даже если у меня уже есть счет -1?», Например, у вас есть 100 очков, а не набрав 42, вы получите 99 очков, и если вы еще не наберете 42, то он останется на 99? Или 98? – StealthOne

+0

Я имею в виду, что я могу только вызвать «-1» (если я пишу что-то не «42») и «+10» (если я пишу «42») один раз. Например, я начинаю со счета 0 и пишу что-то, что не равно 42, тогда я заканчиваю редактирование текстового поля, а моя оценкаLabel изменяется на «Ваша оценка -1», но когда я начинаю редактировать снова и пишу что-то, что не равно «42 «тогда моя оценкаLabel будет по-прежнему выглядеть одинаково« Ваша оценка -1 » –

ответ

0

Добавить соединение вашего объекта ViewController для редактирования Changed выхода текстового поля , Независимо от того, какой метод вы подключите к этому, вызывается, когда текст поля изменяется.

+0

вы можете показать мне коды? поэтому я могу быть на 100% уверен –

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