我正在尝试将一个元素添加到数组cart
中。
在不同的项目上多次执行此函数后,我从 print 语句中看到计数从未增加并且始终保持为 1。此外,新元素替换旧元素而不是追加到数组中。
另外,我不知道如何将数据显示到cartTableViewController
的表格 View 中。每当我导航到 cartTableViewController
时,都不会显示任何元素。
@IBAction func addToCart(_ sender: UIBarButtonItem) {
let mainStoryBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
if let cartTableViewController = mainStoryBoard.instantiateViewController(withIdentifier: "CartTableView") as? CartTableViewController {
var cart = cartTableViewController.cartItems
let itemToAdd = CartItem(product: product!, quantity: quantity)
print(itemToAdd!.product.itemName) // the new item replaces the existing one
cart.append(itemToAdd!)
print(cart.count) // count is always 1
print(quantityLabel.text! + " " + (product?.itemName)! + " added")
}
}
最佳答案
试试这个可能对你有帮助,
var cart: [CartItem]!
override func viewDidLoad() {
super.viewDidLoad()
let mainStoryBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
if let cartTableViewController = mainStoryBoard.instantiateViewController(withIdentifier: "CartTableView") as? CartTableViewController {
cart = cartTableViewController.cartItems
}
}
@IBAction func addToCart(_ sender: UIBarButtonItem) {
if cart != nil {
let itemToAdd = CartItem(product: product!, quantity: quantity)
print(itemToAdd!.product.itemName) // the new item replaces the existing one
cart.append(itemToAdd!)
print(cart.count) // count is always 1
print(quantityLabel.text! + " " + (product?.itemName)! + " added")
}
}
关于ios - 向 UITableView 添加元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56122701/