我正在使用一个使用文本字段并将其转换为整数的应用程序。以前是我的代码
textField.text.toInt()
的工作。现在Swift声明这是一个错误,并告诉我做
textField.text!.toInt()
它表示没有toInt()
并尝试使用Int()
。这也行不通。刚刚发生了什么?
答案 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)
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