Swift 无法为类型为';[[String:Any]]';索引类型为';字符串';错误

Swift 无法为类型为';[[String:Any]]';索引类型为';字符串';错误,swift,xcode,Swift,Xcode,我收到以下错误: 无法为索引为的“[[String:Any]]”类型的值下标 键入“字符串” 在这一行代码中: let temp = Int (weatherMain["temp"] as? Double ?? 0) 我是Xcode的初学者,请帮助您将类型转换为[String:Any] 您应该在其中强制转换为[[String:Any]] 比如: let temp = Int (weatherMain[0]["temp"] as? Double ?? 0) 您需要通过索引。weatherMai

我收到以下错误:

无法为索引为的“[[String:Any]]”类型的值下标 键入“字符串”

在这一行代码中:

let temp = Int (weatherMain["temp"] as? Double ?? 0)

我是Xcode的初学者,请帮助

您将类型转换为
[String:Any]
您应该在其中强制转换为
[[String:Any]]

比如:

let temp = Int (weatherMain[0]["temp"] as? Double ?? 0)

您需要通过索引。

weatherMain
是一组字典。我不知道您是如何存储数据的,但要访问
[“temp”]
值,您需要执行
weatherMain[0][“temp”]
,其中0是索引

无法为索引为的“[[String:Any]]”类型的值下标 键入“字符串”

[[String:Any]]
字典的
数组
数组
可以通过
Int
索引而不是
字符串
访问

let temp = Int (weatherMain["temp"] as? Double ?? 0)
因此,您需要首先使用
Int
索引从
数组
中获取
字典
,然后使用
字符串
从该
字典
中访问键值对

let temp = Int (weatherMain["temp"] as? Double ?? 0)
在上述代码中,假设
weatherMain
的类型为[[String:Any]],要从
字典
中访问键“temp”,您需要首先从
数组
中获取该
字典
,即

let dict = weatherMain[0]
let temp = Int(dict["temp"] as? Double ?? 0)

请分享你的代码你可以分享你的完整代码吗?@shony我的答案解决了你的问题吗?