gpt4 book ai didi

ios - swift : Extra argument 'error' in call

转载 作者:行者123 更新时间:2023-11-30 13:53:53 25 4
gpt4 key购买 nike

我目前正在使用 Swift 2.0 和 Xcode Beta 2 开发我的第一个 iOS 应用程序。它读取外部 JSON 并在表格 View 中生成包含数据的列表。但是,我遇到了一个奇怪的小错误,我似乎无法修复:

Extra argument 'error' in call

这是我的代码片段:

let task = session.dataTaskWithURL(url!, completionHandler: {data, response, error -> Void in
print("Task completed")

if(error != nil){
print(error!.localizedDescription)
}

var err: NSError?

if let jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as? NSDictionary{

if(err != nil){
print("JSON Error \(err!.localizedDescription)")
}

if let results: NSArray = jsonResult["results"] as? NSArray{
dispatch_async(dispatch_get_main_queue(), {
self.tableData = results
self.appsTableView!.reloadData()
})
}
}
})

此行抛出错误:

if let jsonResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: &err) as? NSDictionary{

有人可以告诉我我在这里做错了什么吗?

最佳答案

Swift 2 中,NSJSONSerialization签名已更改,以符合新的错误处理系统。

以下是如何使用它的示例:

do {
if let jsonResult = try NSJSONSerialization.JSONObjectWithData(data, options: []) as? NSDictionary {
print(jsonResult)
}
} catch let error as NSError {
print(error.localizedDescription)
}

根据 the Swift API Design Guidelines,在 Swift 3 中,NSJSONSerialization名称及其方法发生了变化。 .

这是同一个示例:

do {
if let jsonResult = try JSONSerialization.jsonObject(with: data, options: []) as? [String:AnyObject] {
print(jsonResult)
}
} catch let error as NSError {
print(error.localizedDescription)
}

关于ios - swift : Extra argument 'error' in call,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33906381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com