Теперь моя проблема в том, что когда я пытаюсь подсчитать строку оценки, если человек пишет что-то, что не совпадает с «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)"
}
Привет, что именно вы подразумеваете под «Как я могу это делать каждый раз, когда я пишу что-то, что не« 42 », оно даст мне -1 очко, даже если у меня уже есть счет -1?», Например, у вас есть 100 очков, а не набрав 42, вы получите 99 очков, и если вы еще не наберете 42, то он останется на 99? Или 98? – StealthOne
Я имею в виду, что я могу только вызвать «-1» (если я пишу что-то не «42») и «+10» (если я пишу «42») один раз. Например, я начинаю со счета 0 и пишу что-то, что не равно 42, тогда я заканчиваю редактирование текстового поля, а моя оценкаLabel изменяется на «Ваша оценка -1», но когда я начинаю редактировать снова и пишу что-то, что не равно «42 «тогда моя оценкаLabel будет по-прежнему выглядеть одинаково« Ваша оценка -1 » –