我几乎是Swift的新手。 In this URL我会得到一些元素;其中一个元素是categoryList,它本身有两个元素。我将goodTypeName设置为表的单元格标题,当按下一个单元格时,它需要发送goodType,它是要放在下一个Url中的数字(Int)。我试图创建一本字典,但我失败了!
UiTable代码:::
override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return Global.GlobalVariable.names.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if Global.GlobalVariable.names == []
{
self.DisplayMessage(UserMessage: "nothing is available ")
print("server is nil")
}
let cell = UITableViewCell()
let content = Global.GlobalVariable.names[indexPath.row]
cell.textLabel?.text = content
cell.accessoryType = .disclosureIndicator
return cell
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print(indexPath.item)
let next = self.storyboard?.instantiateViewController(withIdentifier: "SVC")
self.navigationController?.pushViewController(next!, animated: true)
}
我的问题不在于在表格中填充它们,我的问题是当选择单元格时,需要将goodtype发送到下一页,因为下一页的url必须具有goodtype代码。
答案 0 :(得分:1)
您可以使用" prepareSegue"传递数据。
覆盖func prepare(对于segue:UIStoryboardSegue,sender:Any?){
if segue.identifier == "something"{
if let startViewController = segue.destination as? StartViewController{
startViewController.goodtype = Global.GlobalVariable.goodtype[indexPath.row]
}
}
}
在StartViewController中只需指定一个变量来接收数据:
var goodtype = String()
或使用导航控制器,但使用此行可以访问另一个视图控制器属性。
if let startViewController = storyboard.instantiateViewController(withIdentifier: "StartViewController") as? StartViewController {
startViewController.goodtype = Global.GlobalVariable.goodtype[indexPath.row]
let navigationController = UINavigationController()
navigationController.pushViewController(startViewController, animated: true)
}