如何在 SwiftUI 中对列表中的值求和?

Posted

技术标签:

【中文标题】如何在 SwiftUI 中对列表中的值求和?【英文标题】:How do I sum values from a list in SwiftUI? 【发布时间】:2020-05-15 20:07:13 【问题描述】:

我在 swiftUI 中有一个变量 double 值列表。我想在底部总结它们。

在常规的 swift 中,我只需将所有文本字段/标签相加。我可以直接访问它们。

但在这里我不知道它们有多少或如何具体访问它们。

我可以对项目总数进行 list.count。但我想总结一下。

找不到任何示例。

struct ContentView: View 
var food_items : [FoodItem] = []
var body: some View 
    VStack 
        List(food_items) food_item in

            HStack 
                Text(food_item.food_name)
                Text(String(format: "%.2f", food_item.food_measure))
                Text(String(format: "%.2f", food_item.food_calorie))
            
        
        Text("Total Calories:")
        Text(String(food_items.count))
    

解决方案

来自https://learnappmaking.com/map-reduce-filter-swift-programming/

map 函数循环遍历集合中的每个项目,并对集合中的每个元素应用一个操作。

reduce 函数循环遍历集合中的每一项,并将它们组合成一个值。

Text(String(food_items.map$0.food_calorie.reduce(0, +)))

【问题讨论】:

您如何显示列表中的数据?一个数组? 刚刚输入代码 您可以尝试将数据扔/附加到数组中,然后将数组传递到您的列表中。 我在想我必须迭代 food_items 列表,然后将它们相加并保存。不确定以后添加/删除内容是否会导致问题。 总热量:food_items.map $0.food_calorie .reduce(0, +) 【参考方案1】:

food_items.map $0.food_calorie .reduce(0, +)

【讨论】:

你在哪里插入 food_items.map? 最后一行代码而不是 food.count

以上是关于如何在 SwiftUI 中对列表中的值求和?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Jaspersoft iReport Designer 中对列中的所有值求和?

如何在 Postgresql 中对 JSONB 数组中的值求和?

如何在php中对组中的值求和?

在 SQL 中对列中的序号进行编号

SQLite如何从分隔列文本中对另一个表中的值求和?

如何从json获取数据中对两个或多个值求和