【发布时间】:2022-01-18 05:28:56
【问题描述】:
首先,我很抱歉这个菜鸟问题,但我似乎无法弄清楚这一点。
我对编码非常陌生,刚开始接触 SwiftUI,学习了几门课程,并开始涉足尝试创建一些基本应用程序。
我目前正在开发一个执行 API 调用并显示数据的应用。
我的问题是,我试图将解码后的数据放入一个数组中,这听起来很简单,我想我错过了一些非常简单的东西,但对于我的生活,我似乎无法弄清楚。
下面是我拥有的可编码结构
struct Drinks: Codable, Identifiable {
let id = UUID()
let strDrink : String
let strInstructions: String
let strDrinkThumb: String?
let strIngredient1: String?
let strIngredient2: String?
let strIngredient3: String?
let strIngredient4: String?
let strIngredient5: String?
}
我想将成分放入一个数组中,这样我就可以在列表等中浏览它们
import SwiftUI
struct IngredientView: View {
let drink : Drinks
let ingredientArray : [String] = [] // I want to append the ingredients here
var body: some View {
GroupBox() {
DisclosureGroup("Drink Ingredience") {
ForEach(0..<3) { item in
Divider().padding(.vertical, 2)
HStack {
Group {
// To use the array here
}
.font(Font.system(.body).bold())
Spacer(minLength: 25)
}
}
}
}
}
}
再次,抱歉这个菜鸟问题可能有一个简单的答案,但值得一试:D
谢谢!
【问题讨论】:
-
JSON 的设计为
strIngredient1、strIngredient2等不是一个好主意。您应该将所有这些成分都放在一个数组中,因为它可以是任意长度。 -
成分可能是 api 的一部分(示例):thecocktaildb.com/api/json/v1/1/search.php?s=margarita 另见这个 SO 问题:stackoverflow.com/questions/69931557/… 和他的相关 github 项目:github.com/sjlearmonth/Cocktail-Heaven 你应该能够解决从那。
标签: arrays swift xcode struct swiftui