【发布时间】:2017-08-28 06:55:50
【问题描述】:
func performGetRequest(_ targetURL: URL!, completion: @escaping (_ data: Data?, _ HTTPStatusCode: Int, _ error: NSError?) -> Void) {
let request = NSMutableURLRequest(url: targetURL)
request.httpMethod = "GET"
let sessionConfiguration = URLSessionConfiguration.default
let session = URLSession(configuration: sessionConfiguration)
let task = session.dataTask(with: request, completionHandler: { (data: Data?, response: URLResponse?, error: NSError?) -> Void in
DispatchQueue.main.async(execute: { () -> Void in
completion(data, (response as! HTTPURLResponse).statusCode, error)
})
})
task.resume()
}
在这里,我正在尝试 appCoda 的演示以集成 YouTube API。但由于此方法错误无法进一步移动:
无法使用类型为“(使用:NSMutableURLRequest,completionHandler:(Data?, URLResponse..)”的参数列表调用“dataTask”
【问题讨论】:
-
是的,我已经编辑了我的问题。谢谢。
-
你的问题不清楚,你想完成什么,遇到了什么错误?请参阅How to ask a good question 部分。
-
let request = NSMutableURLRequest(url: targetURL)使用URLRequest而不是NSMutableURLRequest。 -
对不起,我是 swift 新手。不知道要问什么。如果你能帮忙,请。
-
NSStuff:旧的 Objective-C 之一。首选 Swift 类型(只要有一个以 NS 为前缀的类,请检查是否没有 Swift 等效项,也没有“Mutable”)。
dataTask不知道(with:的第一个参数属于 NSMutableURLRequest 类的方法,这就是编译器对你大喊大叫的原因。
标签: swift nsurlsession nsurlsessiondatatask nsurlsessionconfiguration