.toInt()在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)
Swift 2
let myString: NSString = "123" let myStringToInt: Int = Int(myString.intValue)
将您的string声明为对象NSString并使用intValue getter
我在支付处理应用程序中也有同样的问题。 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])
它很容易创build自己的扩展方法把它放回:
extension String { func toInt() -> Int? { return Int(self) } }
这也给我一些错误!
这段代码解决了我的错误
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