我有一个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的可选结构
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句