ios - Swift 3 URLSession.shared() 对成员 'dataTask(wi

您好,我有用于 swift2.2 的 json 解析代码,但是当我将它用于 Swift 3.0 时,出现了该错误

ViewController.swift:132:31: Ambiguous reference to member 'dataTask(with:completionHandler:)'

我的代码在这里

   let listUrlString =  "http://bla.com?batchSize=" + String(batchSize) + "&fromIndex=" + String(fromIndex)
    let myUrl = URL(string: listUrlString);
    let request = NSMutableURLRequest(url:myUrl!);
    request.httpMethod = "GET";

    let task = URLSession.shared().dataTask(with: request) {
        data, response, error in

        if error != nil {
            print(error!.localizedDescription)
            DispatchQueue.main.sync(execute: {
                AWLoader.hide()
            })

            return
        }

        do {

            let json = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? NSArray

            if let parseJSON = json {

                var items = self.categoryList

                items.append(contentsOf: parseJSON as! [String])

                if self.fromIndex < items.count {

                    self.categoryList = items
                    self.fromIndex = items.count

                    DispatchQueue.main.async(execute: {

                        self.categoriesTableView.reloadData()

                        AWLoader.hide()

                    })
                }else if( self.fromIndex == items.count){


                    DispatchQueue.main.async(execute: {

                        AWLoader.hide()

                    })

                }



            }

        } catch {
            AWLoader.hide()
            print(error)

        }
    }

    task.resume()

感谢您的想法。

最佳答案

编译器被函数签名弄糊涂了。你可以这样修复它:

let task = URLSession.shared.dataTask(with: request as URLRequest) {

但是,请注意,我们不必在此签名中将“请求”转换为 URLRequestif 之前已将其声明为 URLRequest而不是 NSMutableURLRequest:

var request = URLRequest(url:myUrl!)

这是 NSMutableURLRequest 和失败的新 URLRequest 之间的自动转换,迫使我们在此处进行此转换。

关于ios - Swift 3 URLSession.shared() 对成员 'dataTask(with :completionHandler:) error (bug)) 的模糊引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37812286/

相关文章:

javascript - 错误 "Uncaught SyntaxError: Unexpected

python - 如何将字典转储到 JSON 文件?

json - 在 Unix shell 脚本中以可读的 JSON 格式显示 curl 输出

java - 在 Java 中将 XML 转换为 JSON 的最快方法

json - 你如何表示一个 JSON 字符串数组?

json - 从 JSON 数据生成 JSON 模式的工具

javascript - 使用 Node.js 在 JSON 文件中写入/添加数据

json - 如何在 Node.js 中记录 JSON 对象的内容?

ajax - POST JSON 失败,出现 415 Unsupported media type,

json - 在 mongodb 中使用 ISODate 进行日期查询似乎不起作用