[英]How do i get sum core data Swift3
import Foundation
import CoreData
import UIKit
class CoreDataManager5: NSObject {
private class func getContext() -> NSManagedObjectContext{
let appDelegate = UIApplication.shared.delegate as! AppDelegate
return appDelegate.persistentContainer.viewContext
}
class func fetchObj() -> [foodItem]{
var array = [foodItem]()
let fetchRequest: NSFetchRequest<FoodS5N5> = FoodS5N5.fetchRequest()
do{
let fetchResults = try getContext().fetch(fetchRequest)
print(fetchResults)
for food in fetchResults{
let foods = foodItem(foodCalorie5: food.foodCalorie5!)
array.append(foods)
var addFood:[String] = []
addFood.append(foods.foodCalorie5!)
print(addFood)
let sumArray:[String] = addFood
let sumArrayofInt: [Int] = sumArray.map{Int($0) ?? 0}
let sum = sumArrayofInt.reduce(0,+)
print("Food calorie = \(sum)")
}
}catch{
//show error
}
return array
}
}
struct foodItem {
var foodCalorie5:String?
init() {
foodCalorie5 = ""
}
init(foodCalorie5:String){
self.foodCalorie5 = foodCalorie5
}
}
您需要計算for
循環外的sum
。
var array = [foodItem]()
for food in fetchResults{
let foods = foodItem(foodCalorie5: food.foodCalorie5!)
array.append(foods)
}
let calories = array.flatMap { Int($0.foodCalorie5!) }
let sum = calories.reduce(0, +)
print("Food calorie = \(sum)")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.