Xcode8 beta 6 - 带有completionHandler参数的URLSession不起作用

时间:2016-08-17 05:05:39

标签: swift nsurlsession nsurlrequest xcode8-beta6

在从beta 5到beta 6之后,我似乎根本无法在我的代码中使用此方法。

    open func dataTask(with request: URLRequest, completionHandler: @escaping (Data?, URLResponse?, Error?) -> Swift.Void) -> URLSessionDataTask

我的代码:

        let task = self.createSession().dataTask(with: request, completionHandler: { (data, response, error) in
            self.handleTaskResult(data: data, response: response, error: error, completionHandler: completionHandlerIncoming)
        })

我得到"Cannot invoke 'dataTask' with an argument list of type '(with: URLRequest, completionHandler: (Data?, URLResponse?, Error?) -> Void)'"。即使这是xcode给我的函数的完成。

如果我再尝试:

        let task = self.createSession().dataTask(with: request) { data, response, error in
            self.handleTaskResult(data: data, response: response, error: error, completionHandler: completionHandlerIncoming)
        }

它仍然不起作用。

更新

我发现我调用的handleTaskResult错误为NSError?,但错误现在为Error?,更改后会编译!

1 个答案:

答案 0 :(得分:1)

我发现我调用的handleTaskResult错误为NSError?,但错误现在为Error?,更改后会编译!