如何在 SwiftUI 中对列表中的值求和?
How do I sum values from a list in SwiftUI?
我在 swiftUI 中有一个变量双精度值列表。我想在底部总结它们。
在常规 swift 中,我会将所有 textfields/labels 加起来。我可以直接访问它们。
但在这里我不知道它们有多少或具体如何实际访问它们。
我可以为项目总数做一个 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{[=11=].food_calorie}.reduce(0, +)))
food_items.map { $0.food_calorie }.reduce(0, +)
我在 swiftUI 中有一个变量双精度值列表。我想在底部总结它们。
在常规 swift 中,我会将所有 textfields/labels 加起来。我可以直接访问它们。
但在这里我不知道它们有多少或具体如何实际访问它们。
我可以为项目总数做一个 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{[=11=].food_calorie}.reduce(0, +)))
food_items.map { $0.food_calorie }.reduce(0, +)