我是编码新手,但我已经在研究同一个问题好几天了。我正在尝试推动menuItem
在选择单元格行时加入名为 OrderController
的新视图控制器场景中的数组。 menuItem
是一个类,它会在下一页的OrderList
添加到MenuItems
数组中。
我最接近实现这一目标的是将orderList.add
放在 didSelectRowAt
函数中,但它只会从当前TableView
中获取orderList
,但这种方法效果不佳,因为它不会更新下一页上的值。
这是下面的代码:
var orderList = OrderList()
let menuItems = PaneraMenu()
var menuItem = MenuItems()
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let row = indexPath.row
let order = menuItems.items[row]
navigationItem.title! = order.name
orderList.add(menuItem: order)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "paneSell"{
let yo = segue.destination as! OrderController
yo.orderList = orderList
}
}
这里有两个链接可以帮助您更好地了解ViewController
之间的传递数据。
这是一个视频
这是一个网页
我建议使用protocol
而不是prepare for segue
。