【发布时间】:2018-09-06 15:16:28
【问题描述】:
我正在使用 api 来获取一些 json 信息,这是一个示例:
multimedia: [
{
url: "small.jpg"
format: "small"
},
{
url: "medium.jpg"
format: "medium"
},
{ url: "large.jpg"
format: "large"
}
]
如您所见,多媒体容器有许多大小不同的图像 url,我只想读取其中一个,例如仅 medium.jpg 的 url。
我的代码是这样的,它首先读取多媒体容器:
let randomImg = result[random]["multimedia"] as! [[String: AnyObject]]
然后我创建了另一个变量来读取我想要的索引:
let randomImgIndex = randomImg[1]
所以当我尝试获取最终字符串时,我得到了错误:
let finalImgUrl = randomImgIndex[random]["url"] as! String
错误:无法使用“Int”类型的索引为“[String : AnyObject]”类型的值下标
我对 swift 很陌生,所以我完全迷路了。
【问题讨论】:
-
Swift 4 有
Decodable,这使得这样的事情变得非常容易。你有什么理由推迟升级到 Swift 4? -
嗯,我被教导使用 swift 3,所以我不得不坚持下去,当我有点适应 swift 3 时,我没有信心跳到 swift 4。