【问题标题】:How do you compare a textfield value inside the textfield?您如何比较文本字段内的文本字段值?
【发布时间】:2016-11-20 15:10:30
【问题描述】:

我最近一直在学习使用 xCode 编写 Swift 代码。我创建了一个简单的故事板,并试图在文本字段内比较一个文本字段值。

这是我的代码:

var numberone = 0
var numbertwo = 0
var answerstring :String = ""
var answerint :Int = 0
var userInput :String = ""

@IBAction func userTextField(_ sender: UITextField) {

    numberone = randomInt(min: 1, max: 9)
    numbertwo = randomInt(min: 1, max: 9)
    questionLabel.text = "\(numberone) + \(numbertwo)"
    answerint = numberone + numbertwo
    answerstring = "\(answerint)"
    if  userTextField.text! = "\(answerstring)" {
        questionResponse.text! = "Correct!"
    } else {
        questionResponse.text! = "Incorrect. The answer was \(answerint)."
    }

userTextField.text! 上有错误,上面写着:
Value of type '(UITextField) -> ()' has no member 'text'

【问题讨论】:

  • userTextField 是一个函数(或方法)。 sender 是(引用)文本字段...

标签: swift uitextfield textfield


【解决方案1】:

您正在比较 userTextField 这是方法名称,它应该是 sender 代替:

@IBAction func userTextField(_ sender: UITextField) {
    numberone = randomInt(min: 1, max: 9)
    numbertwo = randomInt(min: 1, max: 9)
    questionLabel.text = "\(numberone) + \(numbertwo)"
    answerint = numberone + numbertwo
    answerstring = "\(answerint)"
    // here is the change, 'sender' instead of 'userTextField':
    if  sender.text! = "\(answerstring)" {
        questionResponse.text! = "Correct!"
    } else {
        questionResponse.text! = "Incorrect. The answer was \(answerint)."
    }
}

【讨论】:

    【解决方案2】:

    您必须从@IBAction 上收到的发件人那里获取文本字段。

    这很简单。发件人是您想要的文本字段。

    第一:

        if sender.text! == "\(yourVariable)" {
            //do something
        }else{
            //do someting
        }
    

    记得使用双等号进行比较。如果您只使用一个,它将设置文本字段的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-17
      • 2012-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-29
      • 2013-03-24
      • 1970-01-01
      相关资源
      最近更新 更多