我实现JSONDecoder以从Wordpress json获取JSON数据 我的结构在另一个快速文件中,我得到这个错误,这是我的代码。在让文章上出现错误
URLSession.shared.dataTask(with: url!){ (data,response ,err) in
guard let data = data else{return}
let article = JSONDecoder.decode(LatestArticleModel , from: data)
}.resume()
LatestArticleModel.swift
struct LatestArticleModel : Decodable {
var id: Int
var date: String
var link: String
var title_rendered :String
var author: Int
var category: Int
var img_link: String
var content_rendered: String
var exerpt_rendered: String
}
答案 0 :(得分:2)
LoginScreen.showError() is not a function
应该声明为:
article
如果您选中decode(_:forKey:)
,则会看到它是一个实例方法(不是静态方法),这意味着您应该通过let decoder = JSONDecoder()
let article = decoder.decode(LatestArticleModel.self , from: data)
的实例来调用它。另外,JSONDecoder
参数是 T.Type (元类型),这意味着它应该是该类型的type
。>
答案 1 :(得分:2)
编译器错误告诉您的问题是,您试图在某个类型而不是该类型的实例上调用实例方法。您需要创建JSONDecoder
的实例,并在其上调用decode
。
修复后,还会遇到需要将元类型传递给方法的问题,因此LatestArticleModel.self
而不是LatestArticleModel
。
let article = JSONDecoder().decode(LatestArticleModel.self, from: data)