Получение массива словарей из UserDefaults - PullRequest
0 голосов
/ 09 марта 2019

Я пытаюсь получить массив словарей, хранящихся в UserDefaults, но я не могу понять, как лучше всего это сделать.

Вот что у меня есть:

let userDefaults = UserDefaults.standard
var userWorkouts: [Dictionary<String,String>] = []
userWorkouts = userDefaults.object(forKey: "SavedDict") as? [Dictionary<String,String>] 

Может ли кто-нибудь указать мне правильное направление?

1 Ответ

2 голосов
/ 09 марта 2019

Вы объявили userWorkouts как необязательную переменную. Но выражение userDefaults.object(forKey: "SavedDict") as? [Dictionary<String,String>] возвращает необязательный массив, отсюда и сообщение об ошибке.

Вы можете изменить это на:

userWorkouts = userDefaults.object(forKey: "SavedDict") as? [Dictionary<String,String>] ?? []

Или уменьшите свои три строки до:

var userWorkouts = UserDefaults.standard.object(forKey: "SavedDict") as? [Dictionary<String,String>] ?? []
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...