Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 实例成员';解码';不能用于类型';JSONDecoder';;您的意思是使用这种类型的值吗_Ios_Swift_Jsondecoder - Fatal编程技术网

Ios 实例成员';解码';不能用于类型';JSONDecoder';;您的意思是使用这种类型的值吗

Ios 实例成员';解码';不能用于类型';JSONDecoder';;您的意思是使用这种类型的值吗,ios,swift,jsondecoder,Ios,Swift,Jsondecoder,我在上实现了JSONDecoder,以从WordPressJSON获取JSON数据 我的结构在另一个swift文件中我得到了这个错误这是我的代码。在let文章中,我得到了错误 URLSession.shared.dataTask(with: url!){ (data,response ,err) in guard let data = data else{return} let article = JSONDecoder.decode(LatestArticleM

我在上实现了JSONDecoder,以从WordPressJSON获取JSON数据 我的结构在另一个swift文件中我得到了这个错误这是我的代码。在let文章中,我得到了错误

URLSession.shared.dataTask(with: url!){ (data,response ,err) in
        guard let data = data else{return}
        let article = JSONDecoder.decode(LatestArticleModel , from: data)

    }.resume()
斯威夫特晚星模型

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


}

文章
应声明为:

let decoder = JSONDecoder()
let article = decoder.decode(LatestArticleModel.self , from: data)
如果选中,您将看到它是一个实例方法(不是静态的),这意味着您应该通过
jsondeconder
的实例调用它。另外,
type
参数是T.type(元类型),这意味着它应该是该类型的
self


此外:。

编译器错误告诉您的问题是,您试图调用类型的实例方法,而不是该类型的实例。您需要创建一个
JSONDecoder
的实例,并在该实例上调用
decode

一旦解决了这个问题,您还将遇到需要将元类型传递给方法的问题,因此
LatestArticleModel.self
而不是
LatestArticleModel

let article = JSONDecoder().decode(LatestArticleModel.self, from: data)

JSONDecoder.decode(LateStartClemodel,from:data)
=>
JSONDecoder().decode(LateStartClemodel.self,from:data)
?它是一个实例方法,而不是类方法,因此需要使用对象。像
让jsonDecoder=jsonDecoder();jsonDecoder.decode(LatestArticleModel.self,from:data)
,它缺少
self
。它也是一个实例方法,而不是类方法,在声明中没有
static
。因为我认为错误是关于这一点的,而不是关于丢失的
self
。它现在起作用了,谢谢。我将添加这是我的代码let decoder=JSONDecoder()let article=try!decoder.decode(LatestArticleModel.self,from:data)