Я создал 3 объекта и сохранил каждый из них внутри пользовательских настроек по умолчанию. Как я могу обновить не все данные, а только объект номер 3?
Это код, как я сохраняю и извлекаю данные:
func savePlayer(player: [Player]) {
UserDefaults.standard.set(try? PropertyListEncoder().encode(player), forKey:"player")
UserDefaults.standard.synchronize()
}
func getSports() -> [Player]? {
if let data = UserDefaults.standard.value(forKey:"player") as? Data {
let decodedSports = try? PropertyListDecoder().decode([Player].self, from: data)
return decodedSports
}
return nil
}
Это мои объекты:
let playerOne = Player(id: 1, url: "https:\\www.google - 1.com", color: "#color 1", image: "imageBase64One", flag: false, position: 1)
let playerTwo = Player(id: 2, url: "https:\\www.google - 2.com", color: "#color 2", image: "imageBase64Two", flag: false, position: 2)
let playerThree = Player(id: 3, url: "https:\\www.google - 3.com", color: "#color 3", image: "imageBase64Three", flag: false, position: 3)
Модель данных:
class Player: Codable {
let ID: Int
let URL: String
let Color: String
let Image: String
var Flag: Bool
let Position: Int
init(id: Int, url: String, color: String, image: String, flag: Bool, position: Int) {
self.ID = id
self.URL = url
self.Color = color
self.Image = image
self.Flag = flag
self.Position = position
}
}
Я не могу понять, как обновить, например, флаг опции для второго объекта, а также удалить только два объекта, а не все.
value(forKey
изUserDefaults
для полученияData
. Естьdata(forKey:
- person vadian   schedule 04.11.2020