小编gdu*_*duh的帖子

Swift 4.2:类型'T'不符合协议'可解码'

我有一个函数调用URL来接收数据作为JSON.要将JSON解码为自定义类,我使用JSONDecoder.

fileprivate func loadFlux<T>(_ typeClass: T.Type, urlCriteria url: String) -> Promise<Any> {

    var dataFlux: [T]? = nil
    var promise: Promise<Any>? = nil

    ...

    let jsonData: Data = try! JSONSerialization.data(withJSONObject: data as! NSArray)

    let decoder = JSONDecoder()
    dataFlux = try decoder.decode([T], from: data)

    ...
}
Run Code Online (Sandbox Code Playgroud)

在安装最新版本的Xcode和swift 4.2之前,代码构建没有任何问题.

但现在我收到以下错误消息:Type 'T' does not conform to protocol 'Decodable'在线:

dataFlux = try decoder.decode([T], from: data)
Run Code Online (Sandbox Code Playgroud)

我试图谷歌搜索消息,但现在没有任何成功.有什么建议可以解决这个问题吗?

generics json swift codable

1
推荐指数
1
解决办法
2396
查看次数

标签 统计

codable ×1

generics ×1

json ×1

swift ×1