2016-05-01 11 views
1

私は非常に単純な「推測ゲーム」を作成しようとしています。ここでは、コンピュータに何本の指があるかを推測する必要があります(最大5本の指)。なぜ 'if'ステートメントを再計算しないのですか?

ここが問題です。コードが実行され、submitを押すと、印刷ログに正しい番号が登録されていても、アプリは正しくif文を出力します。どこが間違っていますか?

import UIKit 

class ViewController: UIViewController {

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 




@IBOutlet weak var fingerInput: UITextField! 

@IBOutlet weak var fingerResult: UILabel! 

@IBAction func fingerSubmit(sender: AnyObject) { 

    let realNumberofFingers = Int(arc4random_uniform(6)) 

    print(realNumberofFingers) 

    if fingerInput != realNumberofFingers { 

     fingerResult.text = "Gosh darn, that's wrong!" 

    } else if fingerInput == realNumberofFingers { 

     fingerResult.text = "Thats right!" 

    } 
} 

}

答えて

1

あなたはrealNumberofFingers実際UITextFieldfingerInputを比較しています。それは間違っており、いつもfalseとなります。あなたが代わりにやるべきことはfingerInputから文字列を解析し、その文字列に含まれる整数でrealNumberofFingersに等しいかどうかを確認です:

@IBAction func fingerSubmit(sender: AnyObject) { 

    let input = Int(fingerInput.text!) 

    if let enteredFingers = input { 
     let realNumberofFingers = Int(arc4random_uniform(6)) 
     print(realNumberofFingers) 

     if enteredFingers == realNumberofFingers { 
      fingerResult.text = "Thats right!" 
     } else { 
      fingerResult.text = "Gosh darn, that's wrong!" 
     } 
    } else { 
     fingerResult.text = "Please enter a correct guess - an integer!" 
    } 
} 
+1

ありがとうございます!そんなルーキーなエラー! –

関連する問題