.toInt()在Swift 2中删除了吗?

时间:2015-06-09 17:58:30

标签: swift swift2

我正在使用一个使用文本字段并将其转换为整数的应用程序。以前是我的代码

textField.text.toInt() 

的工作。现在Swift声明这是一个错误,并告诉我做

textField.text!.toInt()

它表示没有toInt()并尝试使用Int()。这也行不通。刚刚发生了什么?

5 个答案:

答案 0 :(得分:121)

在Swift 2.x中,.toInt()函数已从String中删除。作为替代,Int现在有一个接受String

的初始值设定项
Int(myString)

在您的情况下,您可以Int(textField.text!)使用textField.text!.toInt()

Swift 1.x

let myString: String = "256"
let myInt: Int? = myString.toInt()

Swift 2.x,3.x

let myString: String = "256"
let myInt: Int? = Int(myString)

答案 1 :(得分:4)

Swift 2

let myString: NSString = "123"
let myStringToInt: Int = Int(myString.intValue)

将您的字符串声明为对象NSString 并使用intValue getter

答案 2 :(得分:0)

我在付款处理应用程序中发布了相同的内容。 Swift 1.0

let expMonth = UInt(expirationDate[0].toInt()!)
let expYear = UInt(expirationDate[1].toInt()!)

在Swift 2.0之后

let expMonth = Int(expirationDate[0])
let expYear = Int(expirationDate[1])

答案 3 :(得分:0)

很容易创建自己的扩展方法,将其重新放入:

extension String {
    func toInt() -> Int? {
        return Int(self)
    }
}

答案 4 :(得分:-1)

这也给了我一些错误!

此代码解决了我的错误

let myString: String = dataEntered.text!  // data entered in textField
var myInt: Int? = Int(myString)    // conversion of string to Int

myInt = myInt! * 2  // manipulating the integer sum,difference,product, division 

finalOutput.text! = "\(myInt)"  // changes finalOutput label to myInt