swift2:调用中的额外参数'错误'

时间:2016-02-29 06:40:27

标签: swift2 nsurlconnection nserror

xCode:调用中的额外参数'error'。

这是错误代码

var responseError: NSError?
var response: NSURLResponse?

let urlData: NSData? = NSURLConnection.sendSynchronousRequest(request, returningResponse: &response, error: &responseError)

如何帮助我解决此错误。谢谢。 我找到了更多信息,但错误很难解决。

3 个答案:

答案 0 :(得分:1)

如果删除了错误参数,那么仍然会出现错误,请参阅下面的内容。

  

调用可以抛出,但它没有标记为'try'而错误则没有   处理。

因此建议您使用新的NSURLSession,因为@Pradeep已经提到它在iOS 9中已弃用。

请查看以下示例如何使用NSURLSession

    let url = NSURL(string: YOUR_URL)
    let request = NSURLRequest(URL: url!, cachePolicy: .ReloadIgnoringLocalAndRemoteCacheData, timeoutInterval: 5.0)

    let session = NSURLSession.sharedSession()

    let task = session.dataTaskWithRequest(request, completionHandler: {(data, response, error) in
        print(data)
        print(response)
        print(error)
    })
    task.resume()

希望它适合你。

答案 1 :(得分:0)

您可以通过删除error参数来修复它。

CATCH

但建议使用BEGIN CATCH SELECT ERROR_NUMBER() AS ErrorNumber, ERROR_SEVERITY() AS ErrorSeverity, ERROR_STATE() as ErrorState, ERROR_PROCEDURE() as ErrorProcedure, ERROR_LINE() as ErrorLine, ERROR_MESSAGE() as ErrorMessage; END CATCH ,因为上述调用已在iOS 9中弃用

答案 2 :(得分:0)

请参阅Pradeep的回答。如果你还想使用它..

do {
    let urlData = try NSURLConnection.sendSynchronousRequest(request, returningResponse: &response)
} catch {
    // in case the function throws an error
}

// or 

let urlData = try? NSURLConnection.sendSynchronousRequest(request, returningResponse: &response)