2016-05-01 85 views
1

我試圖創建一個非常簡單的「猜測遊戲」,用戶必須猜測計算機有多少個手指(最多5個手指)。爲什麼不快速重新計算'if'語句?

這是事情。當代碼執行並按下提交時,即使打印日誌註冊了一個正確的數字,應用程序仍會打印出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

謝謝!這樣的菜鳥錯誤! –