【发布时间】:2024-01-04 02:26:01
【问题描述】:
class Get {
class func JSON(url:String,callback:@escaping (NSDictionary)->()) {
requestJSON(url: url,callback: callback)
}
class func requestJSON(url:String,callback:@escaping (NSDictionary)->()) {
var nsURL = NSURL(string: url)
let task = URLSession.shared.dataTask(with: nsURL as! URL) {
(data,response,error) in
var error:NSError?
var response = JSONSerialization.JSONObjectWithData(data, options: JSONSerialization.ReadingOptions.MutableContainers, error: &error) as NSDictionary
callback(response)
}
task.resume()
}
}
在此行中出现错误“var response = JSONSerialization.JSONObjectWithData(data, options: JSONSerialization.ReadingOptions.MutableContainers, error: &error) as NSDictionary”作为调用中的额外参数“错误”
【问题讨论】:
-
尝试从您的响应调用中删除 'error: &error'。
-
@dylanthelion 感谢您在我删除时回复我收到此错误“调用可以抛出但它没有标记为'try'并且错误未处理”
-
这意味着 JSONObjectWithData: 抛出,需要放在 try 块中。我认为您需要找到您正在使用的方法的更新示例。 JSON 序列化已使用 Swift 3 进行了更新。您使用的是几年前有效的实现,但基本上已被弃用,
-
@dylanthelion 先生,您能帮我解决这个问题吗?我必须提前通过tomato.tanks 显示我们项目的最终输出。
-
不幸的是,我太忙了,无法直接回答您,但谷歌搜索“swift jsonobjectwithdata”并过滤到上个月,给了我这个:raywenderlich.com/150322/swift-json-tutorial-2 和这个:*.com/questions/42242535/…。试试这些,如果它们不起作用,请尝试过滤过去一个月的搜索。您使用的是旧方法,只需要更新即可。
标签: json swift swift3 swift2 getjson