Таким образом, у меня в основном экран входа в приложение, и после успешного входа в систему, прежде чем перейти к главному экрану, я сохраняю следующую информацию в словаре в сеансе. Это примерно так (поместив статическую информацию для примера):
let preferences = UserDefaults.standard
let session_info : [String: String] = [
"user_id": "123",
"name": "John",
"email": "john@doe.com"
]
preferences.set(session_info, forKey: "session")
preferences.synchronize()
Таким образом, данные сеанса сохраняются, если я назначаю их переменной и печатаю, я получаю дополнительный словарь информации в моей консоли.
let session_data = preferences.value(forKey: "session")!
Если я сделаю print(session_data)
, я получу такой вывод:
{
"user_id" = "123";
"name" = "John";
"email" = "john@doe.com";
}
Моя проблема в том, что я не уверен, как получить доступ к ключам, потому что, если я лечуназначенная переменная в качестве словаря говорит: Type 'Any' has no subscript members.
Что я использую, это:
print(session_data["user_id"])
Есть ли способ получить доступ к этой информации, или мне нужно сохранить каждую переменную в отдельный сеансовый ключ?