在swift中的字典中存储String和Int

时间:2018-06-12 14:08:46

标签: json swift uitableview dictionary

我几乎是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代码。

1 个答案:

答案 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)
    }