gpt4 book ai didi

swift - 为什么我的变量在转换为 int 后返回 nil?

转载 作者:搜寻专家 更新时间:2023-11-01 06:09:07 25 4
gpt4 key购买 nike

我从 api 获取数据并将其存储在字符串变量中。当我打印变量时,它返回我正在寻找的内容,但是当我尝试使用 .toInt 方法将其转换为 int 时,它返回 nil?

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()
}

最佳答案

更简单的方法是使用integerValue:

temperatureString.integerValue

toInt 不同,integerValue 将在找到非数字时停止转换(它还会丢弃前导空格。

如果 temperatureString 是一个 String(而不是一个 NSString),你需要将它推过去:

(temperatureString as NSString).integerValue

关于swift - 为什么我的变量在转换为 int 后返回 nil?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29157481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com