我是斯威夫特的新手。我试图简单地读一个网页,我收到的错误“永久值'初始化'任务'从未使用过;考虑将其替换为'_'或删除它”错误“let task =”声明。这是我的代码(请原谅我的调试声明)。我做错了什么?
let urlPath = "http://www.stackoverflow.com"
let url = URL(string: urlPath)
let session = URLSession.shared
let task = session.dataTask(with:url!) { (data, response, error) -> Void in
if (error == nil) {
print("inside If")
print(data)
} else {
print("inside Else")
print(error)
}
print("after If Else")
}
答案 0 :(得分:1)
你所看到的实际上是一个警告,编译器告诉你你初始化了一个变量但从未使用它。通常,您可以使用_
替换变量名称,也可以完全删除声明,因为您没有使用它(或者只是忽略警告)。但是在您的情况下,实际上需要它,在初始化数据任务之后,您实际上并没有使用它,这就是为什么您没有看到任何输出的打印语句。要解决此问题,请致电task.resume()
。这样做也会删除警告,因为您现在实际上正在使用该变量。
let urlPath = "http://www.stackoverflow.com"
let url = URL(string: urlPath)
let session = URLSession.shared
let task = session.dataTask(with:url!) { (data, response, error) -> Void in
if (error == nil) {
print("inside If")
print(data)
} else {
print("inside Else")
print(error)
}
print("after If Else")
}
task.resume()