[英]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.