Je gardais un dictionnaire de type [String : Any]
à UserDefaults,Valeur booléenne obtenue à partir de l'impression de UserDefaults 0 ou 1, même lors de l'enregistrement en tant que Tout
Lorsque j'imprime le dictionnaire avant d'enregistrer à UserDefaults, la valeur booléenne des impressions dictionnaire comme vrai ou faux, Cependant quand je récupère le dictionnaire il imprime comme 0 ou 1.
J'ai vu des questions semblables de SO où le conseil devait employer Any
au lieu de AnyObject
que j'ai fait.
Voici le code que j'utilise, s'il vous plaît avis où je vais mal.
static var profileDetails : [String: Any]{
get{
let defaults = UserDefaults.standard
let profileDetailsDict = defaults.object(forKey: "profileDetails") as? [String: Any] ?? [String : Any]()
print("Get profileDetailsDict : \(profileDetailsDict), type: \(type(of: profileDetailsDict))")
return profileDetailsDict
}
set (profileDetailsDict){
let defaults = UserDefaults.standard
print("Set profileDetailsDict: \(profileDetailsDict)")
defaults.set(profileDetailsDict, forKey: "profileDetails")
}
}
let profileDetailsDict = ["availabilityTimesDict": ["Saturday": ["times": [["startTime": 9:00 AM, "endTime": 1:30 PM], ["startTime": 2:30 PM, "endTime": 6:00 PM]], "weekday": Saturday, "available": true], "Tuesday": ["times": [["startTime": 2:30 PM, "endTime": 6:00 PM]], "weekday": Tuesday, "available": true]], "mobileNumber": "8458465845", "namesArray": ["name1", "name2"]] as [String: Any]
// Setting profileDetailsDict
profileDetails = profileDetailsDict
// Retrieving profileDetailsDict
let userDetails = profileDetails