session.dataTask 不起作用 Swift



我有一个从API请求中检索数据的方法:

    let session = URLSession.shared
    let url = URL(string: "http://eventregistry.org/json/article?conceptUri=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FAfghanistan&lang=eng&action=getArticles&articlesSortBy=date&resultType=articles")!
    let task = session.dataTask(with: url) { (data, _, _) -> Void in
        if let data = data {
            print(JSON(data: data))
            completion()
        }
    }
    task.resume()

通过浏览器访问时,该链接可以完美运行,但是在XCode中逐行调试时,let task = session.dataTask中的任何代码都不会执行,因此打印不会在日志中打印。

正在通过模拟器运行,我的笔记本电脑有互联网,我只是不确定为什么这不起作用。

有人明白为什么吗?

尝试这样写。 还要尽量避免"虚空">

首先,您需要发出 urlRequest。

例:

let urlRequest = URLRequest(url: URL(string: "Your url/API links here")!)
let task = URLSession.shared.dataTask(with: urlRequest) { (data, response, error) in {
     //Your codes here
   }
task.resume()
}

希望对您有所帮助。如果您需要任何进一步的解释,我将发布一个示例答案来检索注册表文章。

最新更新