簡體   English   中英

Swift Decodable Class 不符合

[英]Swift Decodable Class does not conform

我是 Swift 的新手,並且對可解碼類有一點麻煩。 我收到關於此類的錯誤:類型“VoucherCode”不符合協議“Decodable”

我在另一個項目中具有完全相同的語法,沒有來自教程的錯誤。

如果沒有發布的行,該類可以工作並從相關的 json 中解碼。

請問我錯過了什么?

import Foundation

class VoucherCode: Decodable, Identifiable, ObservableObject {

@Published var logoData: Data?

var id:UUID?
var title: String?
var voucherCode: String?
var details: String?
var logo: String?
var url: String?
var termsAndConditions: String?
var highlight: String?
var whoFor:[String]?



func getLogoData() {
    guard logo != nil else {
        return
    }
    
    if let url = URL(string: logo!) {
        let session = URLSession.shared
        let dataTask = session.dataTask(with: url) { (data, response, error) in
            if error == nil {
                DispatchQueue.main.async {
                self.logoData = data!
                }
            }
        }
        
        dataTask.resume()
    }
}
}

CodeWithChris 課程中的類似課程(有效)。 沒有錯誤,它可以工作。

工人階級

將此添加到您的課程中:

private enum CodingKeys: String, CodingKey {
    case id, title, voucherCode, details, logo, url, termsAndConditions, highlight, whoFor
}

這將從可解碼中排除 logoData 並使 VoucherCode 可解碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM