【发布时间】:2016-04-07 18:38:44
【问题描述】:
现在,我的问题是,当我尝试计算分数线时,如果有人在文本字段中写的内容与“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?
-
我的意思是我只能触发一次“-1”(如果我写的不是“42”)和“+10”(如果我写“42”)一次。例如,我从分数线 0 开始写不等于 42 的内容,然后我结束文本字段编辑,我的 scoreLabel 更改为“您的分数 -1”,但是当我再次开始编辑并写不等于“42”的内容时" 那么我的 scoreLabel 看起来还是一样的 "Your score -1"
标签: swift if-statement count label textfield