Помимо того, что вы можете хранить Data
объекты в ваших UserDefaults
, то есть это могут быть конкретные Codable
структуры, вы также можете хранить dictionaries
в UserDefaults.
Итак, допустим, выу вас есть два пользователя, о которых вам нужно хранить информацию, и способ идентификации этого пользователя - по имени пользователя.
Это будет ваш код хранения, вы увидите, как вы «упаковываете» все необходимые данные в Dictionary
и сохраните его по умолчанию по имени пользователя.То есть, когда вам нужно получить информацию, вам просто нужно имя пользователя.
var userDict: [String: Any] = [:]
let username: String = "user@name"
let age: Int = 25
let language: String = "en"
userDict = ["username": username,
"age": age,
"language": language]
UserDefaults.standard.set(userDict, forKey: username)
И чтобы в будущем получить этот словарь со всей необходимой информацией:
let userData = UserDefaults.standard.dictionary(forKey: username)
Теперь, чтобы получить свойвещи из него:
let age = userData["age"] // 25
let language = userData["language"] // en