迅速;使用特定图像计算TableView中的单元格

时间:2017-01-24 14:43:36

标签: swift tableview

我们正在尝试创建一个资金管理应用。因此,我们制作了一个TableView,用户可以在其中添加花费。他们可以选择他们的消费所属的类别,如服装,traintickets等。我们现在已经创建了一个饼图,我们希望在其中显示用户花费大部分资金的类别。要获取此图表的数据,我们需要在表格视图中包含这些特定图像的单元格数量。

因此我们希望应用程序使用例如image clothes.png计算单元格数量。

1 个答案:

答案 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
}