我们正在尝试创建一个资金管理应用。因此,我们制作了一个TableView,用户可以在其中添加花费。他们可以选择他们的消费所属的类别,如服装,traintickets等。我们现在已经创建了一个饼图,我们希望在其中显示用户花费大部分资金的类别。要获取此图表的数据,我们需要在表格视图中包含这些特定图像的单元格数量。
因此我们希望应用程序使用例如image clothes.png计算单元格数量。
答案 0 :(得分:1)
你不应该这样做。您的数据模型应该包含该信息。通过计算“有多少单元格具有特定图像”来做你想要达到的目标会有点反作用。
例如,您可以拥有以下数据模型:
struct Expense {
var category: ItemCategory
var amountSpent: Double
}
enum ItemCategory {
case clothing
case entertainment
case carMaintenance
case groceries
}
您可以像这样创建Expense
个对象:
let expense1 = Expense(category: .clothing, amountSpent: 10.00)
let expense2 = Expense(category: .entertainment, amountSpent: 67.49)
let expense3 = Expense(category: .clothing, amountSpent: 13.67)
然后,使用此数据使用类别填充您的单元格图像,现在您只需使用过滤器来获取有clothing
类别的数量,并减少以获得总花费:
let clothingExpenseCount = expenses.filter({ $0.category == .clothing }).count
let clothingExpense = expenses.reduce(0) { (result, expense) -> Double in
return result + expense.amountSpent
}