.toInt () rimosso in Swift 2?

Stavo lavorando su un’applicazione che utilizzava un campo di testo e lo traduceva in un numero intero. Precedentemente il mio codice

textField.text.toInt() 

lavorato. Ora Swift lo dichiara come un errore e mi sta dicendo di farlo

 textField.text!.toInt() 

e dice che non c’è toInt() e provare a usare Int() . Neanche questo funziona. Cosa è appena successo?

In Swift 2.x, la funzione .toInt() stata rimossa da String . In sostituzione, Int ora ha un inizializzatore che accetta una String

 Int(myString) 

Nel tuo caso, potresti usare Int(textField.text!) textField.text!.toInt() di 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) 

dichiara la tua stringa come object NSString e usa il getter intValue

Ho avuto lo stesso rilasciato nelle app di elaborazione dei pagamenti. Swift 1.0

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

Dopo in Swift 2.0

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

È abbastanza facile creare il proprio metodo di estensione per rimetterlo in questo modo:

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

Questo mi ha dato anche degli errori!

Questo codice ha risolto i miei errori

 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