【发布时间】:2020-09-21 04:57:46
【问题描述】:
我正在尝试将数据从 NYTime Articles 搜索 API 加载到 UITableView。我可以很好地加载文本(标题,摘要),但是我在加载图像 url 时遇到了一些麻烦,基本上需要访问嵌套的 json。
这是使用“pelosi”关键字的JSON Data,这是API doc
这是我设置的模型
class Response: Mappable {
var docs = [Docs]()
...
}
class Docs: Mappable {
...
var multimedia = [Multimedia]()
var headline : Headline?
...
}
class Multimedia: Mappable {
...
var url: String?
...
}
我将数据传递给:
var docResult: [Docs] = []
这是我的numberOfRows:
return docResult.count
尝试使用 kingfisher 将图像加载到每个单元格中,但出现 Index out of range 错误:
var cellResponse: Docs!
let imgUrl = URL(string: "https://static01.nyt.com/\(cellResponse.multimedia[0].url)!")
docImg.kf.setImage(with: imgUrl)
我要做的是检索单个项目(多媒体数组中第一个项目的 url)。有人可以为此提供解决方案吗?谢谢!
编辑:
这是我的cellForRowAt
cell.cellResponse = docResult[indexPath.row]
【问题讨论】:
-
您在哪一行得到错误?
-
我遇到了错误:let imgUrl = ...
-
谢谢。那么有没有办法解决这个问题?
-
如果您在这一行中遇到此崩溃,则
multimedia为空。你必须检查一下。 -
没有我用来加载图像的代码在一个单独的 uitableviewcell 类中
标签: ios arrays json swift uitableview