所以我基本上在我的应用程序上有一个登录屏幕,在成功登录后,在对主屏幕执行 segue 之前,我将以下信息保存在会话中的字典中。是这样的(以静态信息为例):
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"])
有没有办法访问这些信息,还是我必须将每个变量保存到单独的会话密钥中?