【发布时间】:2018-02-06 00:21:28
【问题描述】:
我从 youtube 上观看了一个教程并尝试了该教程。然后我写 操场文件中的代码,我没有得到结果,但没有错误。 因此,我在 XCode 中创建了一个新项目。然后向 Main.StoryBoard 添加一个 Button 并将 UI 连接到代码。完成所有必要的事情后,我在模拟器中运行项目,一切顺利,我可以看到完成处理程序中的所有工作。以下是 XCode 项目中的代码。
@IBAction func doNetwork(_ sender: UIButton) {
print("start network jobs...")
// url
let url: URL! = URL(string: "http://192.168.0.12/swnet.php")
URLCache.shared = URLCache(memoryCapacity: 0, diskCapacity: 0, diskPath: nil)
// url session
let session = URLSession.shared
let task: URLSessionDataTask = session.dataTask(with: url, completionHandler: {
(data, response, error) in
print("Handler")
if let respData = data {
print("Data")
print(respData)
}
if let resp = response {
print("Resp")
print(resp)
}
if let err = error {
print("Error")
print(err)
}
})
task.resume()
}
以下是 Playground 中的代码。
// url
let url: URL! = URL(string: "http://192.168.0.12/swnet.php")
URLCache.shared = URLCache(memoryCapacity: 0, diskCapacity: 0, diskPath: nil)
// url session
let session = URLSession.shared
let task: URLSessionDataTask = session.dataTask(with: url, completionHandler: {
(data, response, error) in
print("Handler")
if let respData = data {
print("Data")
print(respData)
}
if let resp = response {
print("Resp")
print(resp)
}
if let err = error {
print("Error")
print(err)
}
})
task.resume()
【问题讨论】:
-
@creeperspeak 问题是我的帖子标题“URLSession dataTask completionHandler 在操场上不起作用”