如何在Swift 2.0中将UITextField转换为整数?

时间:2015-06-18 23:21:03

标签: ios swift integer

我是swift的初学者,正在做一些测试。说实话,我几乎不知道我在做什么,所以请尽量解释清楚。我正在制作一个随机数生成器应用程序&想要添加uitextfield,以便用户可以输入他们对下一个随机生成的数字的猜测。尝试使用if语句将随机生成的数字与在文本字段中输入的数字进行比较时,我一直收到错误。

import UIKit

class ViewController: UIViewController, UITextFieldDelegate {
    @IBOutlet weak var input: UITextField! 
    @IBOutlet weak var infoLabel: UILabel! // Displayed Before The User Clicks Button For The First Time.
    @IBOutlet weak var numberLabel: UILabel!
    @IBAction func go(sender: AnyObject) {
        // Remove The Text Under The Button 
        infoLabel.text = " "

        // Generate Random Number 
        let randomNumber = Int(arc4random_uniform(11))

        // Change The "Number Label's" Text In Order To Show The Randomly Generated Number To The User        
        numberLabel.text = "\(randomNumber)"

        // Check To See If The User Guessed The Correct Number, And If They Did, Tell Them They Were Right
        if input == randomNumber {
            infoLabel.text = "Your Guess,\(randomNumber) Was Correct!"
        }
    }

    override func viewDidLoad() {
        super.viewDidLoad()
    }
}

4 个答案:

答案 0 :(得分:9)

使用Swift 2将输入字符串转换为整数:

let guess:Int? = Int(input.text)

if guess == randomNumber { 
  // your code here
}

答案 1 :(得分:3)

要访问它的int值:

Int(input.text)

输入变量的类型为UITextField,它是一个对象,无法与Int进行比较。所以你必须访问它的文本,这是一个字符串,并且也不能与Int进行比较,因此,使用上面的表达式将它转换为Int,它将为你提供字符串所包含的int值。

答案 2 :(得分:2)

您可以使用以下方法将字符串转换为int:

<强> input.text.toInt()!

答案 3 :(得分:-2)

在Swift 3中 您应该比较等效数字类型:例如将字符串转换为int。

let guess = Int(input.text!)! 
if guess == randomNumber {your code}