ios - 如何解决这个问题 "Ambiguous reference to member ' dataTask(with :completionHandler: )' "

标签 ios swift rest post http-headers

如何解决这个问题

Ambiguous reference to member 'dataTask(with:completionHandler:)'

    guard let requestUrl = URL(string:"http://www.digi.com/laravel_api_demo/api/demoapi") else { return }

    let request = NSMutableURLRequest(url: requestUrl)
    request.httpMethod = "POST"

    let postString = "firstName=James&lastName=Bond"
    request.httpBody = postString.data(using: String.Encoding.utf8)
    let task = URLSession.shared.dataTask(with: request){ (data, response, error) in

        if error != nil
        {
            //print(error)
            return
        }

        //You can print out response object
        print("response = \(response)")

        //Print out response body
        let responseString = String(data: data, encoding: NSUTF8StringEncoding)
        print("response data = \(responseString)")

        var err: Error?
        var json = JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? NSDictionary

        if let parseJSON = json {
            var firstNameValue = parseJSON["firstName"] as? String
            print("first name value = \(firstNameValue)")
        }
    }
    task.resume()
}

最佳答案

调用应该像这样,第一个参数的类型为 URL 而不是 NSMutableURLRequest

  guard let requestUrl = URL(string:"http://www.digi.com/laravel_api_demo/api/demoapi") else { return }

    var  request = URLRequest(url: requestUrl)
    request.httpMethod = "POST"

    let postString = "firstName=James&lastName=Bond"
    request.httpBody = postString.data(using: String.Encoding.utf8)
    let task = URLSession.shared.dataTask(with: request){ (data, response, error) in

        if error != nil
        {
            //print(error)
            return
        }


    }
    task.resume()

在此处查看可用方法的签名 enter image description here

关于ios - 如何解决这个问题 "Ambiguous reference to member ' dataTask(with :completionHandler: )' ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48783618/

相关文章:

c++ - 如何避免在基于 REST API 的游戏中使用单例模式?

ios - SKPaymentTransaction : what is transactionDate exactly?

ios - 如何在 Swift 3 中使用 UIWebview 将动态网页保存在缓存中

swift - 从 AVFoundation 捕获与 Swift 中 AVCaptureVideoPreviewLayer 上的取景器边框匹配的静止图像

ios - 同步 UIViewController 转换动画

java - 在 Java 中限制 Rest API

iphone - NSURLConnection 在我得到 Error Domain=NSPOSIXErrorDomain Code=57 后不会响应

ios - Swift 4 如何使用解析组

ios - 将 UIImage 编码为 Base64 字符串在传输到服务器时不起作用

c# - 当原始请求有内容时如何克隆 HttpRequestMessage?