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