我试图解析userInfo
变量:
func session(_ session: WCSession, didReceiveUserInfo userInfo: [String : Any] = [:]) {
如果我print(userInfo)
我明白了:
["session": <__NSSingleObjectArrayI 0x608000011220>(
{
created = "2017-01-20 22:13:45 +0000";
device = "watchOS";
id = 8;
synced = 0;
"person_id" = 17;
}
)
]
如何实际解析userInfo
以便获取个别属性?我试图将此对象转换为NSDictionary但失败了。
编辑:
我试图转换&#34; session&#34;像这样的NSDictionary:
if let loggedSession = userInfo["session"] as? NSDictionary {
然而,这失败了。所以我的问题是访问&#34; session&#34;的数据。我希望把它转换成字典?
感谢。
答案 0 :(得分:2)
看到你的输出,键"session"
的值是NSArray
,包含一个NSDictionary
的单个对象,所以你可能需要从数组中检索一个元素:
if let sessions = userInfo["session"] as? [[String: Any]] {
//You may need to retrieve one element from the array
let sessionInfo = sessions[0]
//Use `sessionInfo` as [String: Any]
print(sessionInfo["created"]) //->Optional(2017-01-20 22:13:45 +0000)
//...
}