/ / non conforme al protocollo Decodable / Codable - swift, swift4

non è conforme al protocollo Decodable / Codable - swift, swift4

Sto usando la seguente struttura:

struct Item : Codable {

var category:String
var birthDate:Date
var switch:Bool
var weightNew: [Weight]
var weightOld: Array<Double>
var createdAt:Date
var itemIdentifier:UUID
var completed:Bool

func saveItem() {
DataManager.save(self, with: itemIdentifier.uuidString)
}

func deleteItem() { DataManager.delete(itemIdentifier.uuidString)
}

mutating func markAsCompleted() {
self.completed = true
DataManager.save(self, with: itemIdentifier.uuidString)
}

}

E per peso:

struct Weight {
var day:Int
var weight:Double
var type:Bool
}

Dopo aver cambiato peso da vecchio a peso nuovo, ricevo due errori: - Digitare "Item" non conforme al protocollo "Decodable" - Il tipo "Articolo" non è conforme al protocollo "Codificabile"

Se ometto "var weightNew: [Weight]" funziona. Non so cosa sta succedendo e come risolverlo ... L'aiuto è apprezzato.

risposte:

9 per risposta № 1

Tutto deve essere codificabile. Fin qui il tuo Weight struct non è codificabile. Aggiornare Weight essere codificabile pure e poi Item sarà codificabile