难以理解API结构



我正在做一个项目,我正在从API中提取数据。对于之前的调用,我理解了API的结构,但是这个有点不同,给我带来了麻烦。

下面是一个API调用结果的示例:[1]: https://i.stack.imgur.com/V0wVh.png我看到它返回一个步骤数组,每个步骤都有额外的数据。下面是我构建struct的方法:

struct Instructions: Codable {
let steps: [Step]
}
struct Step: Codable {
let number: Int                     // step number
let step: String                    // step explanation
let ingredients: [Ingredient]       // ingredients used in this step
let image: String
}

如果这些结构正确,那么我想我的问题是我如何访问struct Step的数据?我想这样做:

我初始化这个:var result: [Instructions] = [],然后在UITableVieDataSource的cellForRowAt函数中,我做:let stepContents = result[indexPath.row].steps。这显然不起作用,但我试图将stepContents设置为Step中的step: String

任何提示/想法将非常感激-我被难住了。谢谢你!

编辑:澄清最后一段。

您的Step结构不正确,因为等待

let image: String

但是在您通过屏幕截图提供的服务器响应中,您没有此字段。由于您将其添加为非可选的,因此解码器无法解码它。

尝试为图像设置一个可选的类型,如:

var image: String?

或删除,如果不需要

相关内容

  • 没有找到相关文章

最新更新