我有一个表视图控制器,该控制器显示来自Web api的json数据(列表列表)。我想在用户单击该行时向下钻取到所选列表。我似乎无法弄清楚如何将列表ID传递给下一个视图控制器。
这是第一个视图中发货清单的结构
struct Shipments: Codable {
var result: [Shipment]
}
struct Shipment: Codable {
var ListID: String
var ShowName: String
var Booth: String
var ShipDate: String
var ShipVia: String
var Weight: String
}
我将所选行传递给下一个视图控制器,如下所示:
var ShipListID = [Shipment]()
....
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let vc = ShippingUnitsTableViewController()
vc.ShipListID = [ShipLists[indexPath.row]]
navigationController?.pushViewController(vc, animated: true)
}
这是打印传递到下一个视图控制器的信息的结果
[Test.Shipment(ListID: "8", Name: "BIG SHOW 2020 Las Vegas", Booth: "212", ShipDate: "2019-09-21", ShipVia: "sv", Weight: "3795.00")]
如何在第二个视图控制器中访问ListID的值?
答案 0 :(得分:1)
您应该能够在推送视图控制器的视图控制器中访问它。
例如: 在ShippingUnitsTableViewController的viewDidLoad()中
[resource]
答案 1 :(得分:1)
您发送带有Shipment
的{{1}}类型的数组,而您需要像[ShipLists[indexPath.row]]
或ShipLists[indexPath.row]
那样发送数组并在目标ShipLists[indexPath.row].listID
或{分别为{1}}
var shipment:Shipment?
目标vc之类
var shipListID:String?