swift2:调用中的额外参数“错误”
Posted
技术标签:
【中文标题】swift2:调用中的额外参数“错误”【英文标题】:swift2: Extra argument 'error' in call 【发布时间】:2016-02-29 06:40:27 【问题描述】:xCode:调用中的额外参数“错误”。
这是错误代码
var responseError: NSError?
var response: NSURLResponse?
let urlData: NSData? = NSURLConnection.sendSynchronousRequest(request, returningResponse: &response, error: &responseError)
如何帮助我解决此错误。谢谢你。 我找到了更多信息,但它的错误很难修复。
【问题讨论】:
在 swift2 中删除错误参数并使用 do/try/catch 模式 对不起,你能帮我做个例子吗? 查看 Pradeep 的回答并考虑到函数抛出 看相关栏目,有很多很多类似的问题和解决方法。 【参考方案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()
希望它对你有用。
【讨论】:
【参考方案2】:您可以通过删除错误参数来修复它。
NSURLConnection.sendSynchronousRequest(request, returningResponse: &response)
但建议使用NSURLSession's dataTaskWithRequest
,因为上述调用在 iOS 9 中已弃用
【讨论】:
【参考方案3】:请参阅 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)
【讨论】:
我已经尝试捕获但无法解决此问题。 ??你现在有什么错误?我看到你自己的“答案”,那里缺少做部分(可能只是错字?)以上是关于swift2:调用中的额外参数“错误”的主要内容,如果未能解决你的问题,请参考以下文章