.toInt() 在 Swift 2 中删除?

.toInt() removed in Swift 2?

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

textField.text.toInt() 

成功了。现在 Swift 将此声明为错误并告诉我做

textField.text!.toInt()

它说没有 toInt() 并尝试使用 Int()。那也不管用。刚刚发生了什么?

在 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)

这也给了我一些错误!

这段代码解决了我的错误

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

Swift 2

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

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

我在支付处理应用程序中也有同样的问题。 Swift1.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])

创建您自己的扩展方法以将其放回:

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