首页 > 解决方案 > 如何将两个(或更多)tableViewCells 添加在一起以形成“总数”

问题描述

我有一个表格视图,其中包含单元格中项目的价格和数量,我想将它们加在一起,所以如果有多个项目 - 它会显示总数。

这是在我的cellForRowAt

detailCell.priceCostLabel.text = sortedPriceDictionary[indexPath.row]
detailCell.quantityLabel.text = String(sortedQuantityDictionary[indexPath.row])

let totalPrice = (Double(sortedPriceDictionary[indexPath.row])! * Double(sortedQuantityDictionary[indexPath.row]))
print("The total price is \(totalPrice)")

就打印每种产品的正确价格以及每种产品的数量而言,这是有效的,但是如果有 2 或 3 个单元格,则它正在打印(例如)

The total price is 3.9
The total price is 20.7

我会创建一个 totalPrice(s) 数组并执行 arrayOfPrices[0] + arrayOfPrices[1] 吗?然后我又怎么知道我需要将多少个单元格加在一起?提前致谢。

标签: arraysswiftuitableview

解决方案


你试图做的有点不寻常。在模型-视图-控制器的世界中,我希望您尝试添加的价格列表将是模型。如果您要对这些价格进行任何计算,那么您会将其作为模型的一部分进行。该模型将知道它存储了多少价格,并知道如何将它们相加。

TableView 只是将模型中的值放在屏幕上的一种方式。您将根据模型的需要创建尽可能多的 tableViewCells,并且 MVC 三元组的所有“视图”部分都会显示它们,您实际上不会对这些单元格中的值执行计算,它们只是为了显示。

我建议您阅读有关 MVC 模式的更多信息,并更好地了解 TableView 的作用。你可以从苹果的描述开始:

https://developer.apple.com/library/archive/documentation/General/Conceptual/DevPedia-CocoaCore/MVC.html

当您单击该链接时,它会告诉您该文档页面已被弃用。没关系。还是读吧。谷歌搜索 MVC 或模型视图控制器将提供丰富的集合链接,以帮助您了解模式,并希望您的问题和解决方案。


推荐阅读