簡體   English   中英

類型“PlayerData”不符合協議“Decodable”和“Encodable”

[英]Type 'PlayerData' does not conform to protocol 'Decodable' and 'Encodable'

class PlayerData包括一個 class Player數組,並將 PlayerData 的PlayerData保存到UserDefaults我確認它到可Codable協議。 但我有這些錯誤。

“類型‘PlayerData’不符合協議‘Decodable’”

import Foundation
import SwiftUI

class Player {
    var name: String
    var id: Int
    init(name: String, id: Int){
        self.name = name
        self.id = id
    }
}


class PlayerData: Codable {   // <- error here
    var latestId: Int
    var player: [Player] = []
    init(){
        latestId = 0
        player = []
    }
}


func savePlayers(data: PlayerData) {
    let encoder = JSONEncoder()
    if let encoded = try? encoder.encode(data) {
        UserDefaults.standard.set(encoded, forKey: "saved_data")
    }
}

func pullPlayers() -> PlayerData {
    if let data = UserDefaults.standard.object(forKey: "saved_data") as? Data {
        let decoder = JSONDecoder()
        if let savedData = try? decoder.decode(PlayerData.self, from: data) {
            return savedData
        }
    }
}

謝謝您的幫助:)

Player也應該符合

class Player : Codable {

暫無
暫無

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

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