2016-11-20 6 views
0

私は最近、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'

+0

'userTextField'は* function *(または* method *)です。 'sender'は(そのテキストフィールドへの)テキストフィールドです... –

答えて

0

あなたはメソッド名です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)." 
    } 
} 
0

あなたはあなたに受け取るの送信者からのテキストフィールドを取得する必要があります@ IBAction。

非常に簡単です。送信者はあなたが望むテキストフィールドです。

まず:

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

を比較するために二重の等号を使用することを忘れないでください。 1つだけを使用すると、テキストフィールドの値が設定されます。

関連する問題