Swift - URLSession 最基础的 GET 请求写法(善用 guard 语法)

func makeMyGetCall(_ urlStr: String) {
    // urlRequest
    guard let url = URL(string: urlStr) else {
        print("Error: cannot convert urlStr to url")
        return
    }
    let urlRequest = URLRequest(url: url)

    // session
    let session = URLSession.shared

    // task
    let task = session.dataTask(with: urlRequest) { (data, response, error) in
        // check for error
        guard error == nil else {
            print("Error: error is not nil")
            return
        }
        // check for data
        guard let responseData = data else {
            print("Error: data is nil")
            return
        }
        // convert data to dict
        do {
            guard let responseDict = try JSONSerialization.jsonObject(with: responseData, options: []) as? [String: Any] else {
                print("Error: cannot convert data to dict")
                return
            }
            print(responseDict.description)
        } catch {
            print("Error: cannot convert data to dict")
            return
        }
    }

    task.resume()
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 亲爱的宝贝, 今天你带回来了一本幼儿成长档案,你们的班主任发来信息要爸爸妈妈填写,要填写父母对孩子的寄语。妈妈拿着...
    艾羽勤阅读 2,905评论 2 2
  • 文章导读:本文主要介绍我是怎么通过知乎吸引精准客户的包括:知乎流量很大,现在,很多知乎问题都出现在了百度的首页,所...
    和齐声阅读 2,890评论 0 0