session.dataTask无法正常工作

时间:2017-05-15 18:38:11

标签: swift get request

我有一个从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中的代码都没有执行,因此打印不会在日志中打印。

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

有谁理解为什么?

1 个答案:

答案 0 :(得分:1)

尝试这样写。并试图避免“虚空”

首先你需要制作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()
}

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