我有一个ID的列表。同时我有一个对象,它的数据数组就像下面的结构。
[
foods(
foodId: 345,
category: 10,
tools: [10],
name: "food name 1"
),
foods(
foodId: 191,
category: 4,
tools: [2],
name: "food name 2"
),
]
在我的列表中,我有一个列表 [345, 191]
我希望有一个机制来访问对象的信息,当我提供一个 foodId
.
我是用一个内环和一个外环来做的。但我想知道是否有一个更简单的方法来做它。
ForEach(foodDetails, id: \.self){ item in
ForEach(self.foods.datas){ ex in
if(ex.foodId == item){
Text(ex.name)
}
}
有什么办法可以让它工作?
先谢谢你
你可以简单地通过获取id匹配的第一个元素来实现。
let result = foodDetails.first(where: {$0.foodId == id})
if let food = result {
print(food.name ?? "") //if name is optional
print(food.foodId)
print(food.category)
}
你得到的结果是,食品? 有这个id的可选结构。