Я беру данные из api и сохраняю их в строковой переменной. Когда я печатаю переменную, она возвращает то, что я ищу, но когда я пытаюсь преобразовать ее в int, используя метод .toInt, он возвращает нуль?Почему моя переменная возвращает нуль после преобразования в int?
func getWeather() {
let url = NSURL(string: "http://api.openweathermap.org/data/2.5/weather?q=London&mode=xml")
let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {
(data, response, error) in
if error == nil {
var urlContent = NSString(data: data, encoding: NSUTF8StringEncoding) as NSString!
var urlContentArray = urlContent.componentsSeparatedByString("temperature value=\"")
var temperatureString = (urlContentArray[1].substringWithRange(NSRange(location: 0, length:6))) as String
println(temperatureString) // returns 272.32
var final = temperatureString.toInt()
println(final) //returns nil
println(temperatureString.toInt())
self.temperature.text = "\(temperatureString)"
}
}
task.resume()
}
Да, это именно то, что я искал! –
Верьте или нет, у меня просто была эта ошибка сегодня, конвертируя некоторый код C в Swift (и мой вызов toInt завершился неудачно по той же причине). Так что я только что исследовал это ... –