gpt4 book ai didi

ios - 如何使用 int 值将项目添加到 TableView

转载 作者:行者123 更新时间:2023-11-28 05:58:01 24 4
gpt4 key购买 nike

如何将数字添加到我的表格单元格并将数字添加到总计标签? w 当我添加像 ps2 这样的项目时,如何将价格也添加到表格单元格并将其添加到我的总标签中?这是我 3 周以来一直试图解决的问题。

到目前为止我的 table :

my table

我的 ViewController.swift 代码:

import UIKit

class ViewController: UIViewController, UITableViewDataSource {

func numberOfSections(in tableView: UITableView) -> Int {
return 1
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return data.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell")! //1.

let text = data[indexPath.row] //2.

cell.textLabel?.text = text //3.

return cell //4.
}


@IBOutlet weak var tableView: UITableView!

override func viewDidLoad() {
super.viewDidLoad()

tableView.dataSource = self
}

@IBOutlet weak var totalLabel: UILabel!

var data = ["pizza"]
var total = 0


@IBAction func addButton(_ sender: Any) {

let alert = UIAlertController(title: "New Name", message: "Add a new name", preferredStyle: .alert)

let saveAction = UIAlertAction(title: "Spice", style: .default) { [unowned self] action in
guard let textField = alert.textFields?.first, let nameToSave = textField.text else { return }

self.total += 2000
self.totalLabel.text = "Total Bill is: $\(self.total)"

self.data.append(nameToSave)
self.tableView.reloadData()
}

let cancelAction = UIAlertAction(title: "Cancel", style: .default)


alert.addTextField()

alert.addAction(saveAction)
alert.addAction(cancelAction)

present(alert, animated: true)
}

}

最佳答案

简单的解决方案:

  • 例如创建适当的数据模型

    struct Model {
    let name : String
    let price : Double
    }
  • 在 Controller 中创建数据

    var data = [Model]()
  • 例如在 viewDidLoad 中填充数据源数组

    override func viewDidLoad() {
    super.viewDidLoad()

    data = [Model(name: "Pizza", price: 4.99), Model(name: "Burger", price: 2.99)]
    tableView.dataSource = self
    }
  • 每当您重新加载表格 View 时总结价格

    totalLabel.text = String(data.map{$0.price}.reduce(0.0, +))

关于ios - 如何使用 int 值将项目添加到 TableView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50801229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com