.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