Ios 如何从数组中只传递一个键值对?

Ios 如何从数组中只传递一个键值对?,ios,swift,uitableview,Ios,Swift,Uitableview,以下是我的json响应 {"Doctor":[{"doctorname":"ANBU SURESH RAO, D.ORTHO., MSORTHO.,","presid":"1008"}]} 以下是我的viewcontroller代码 let parameters: Parameters=["hnum":hnum!] Alamofire.request(URL_USER_LOGIN, method: .post, parameters: parameters).responseJSON

以下是我的json响应

{"Doctor":[{"doctorname":"ANBU SURESH RAO, D.ORTHO., MSORTHO.,","presid":"1008"}]}
以下是我的viewcontroller代码

let parameters: Parameters=["hnum":hnum!]
    Alamofire.request(URL_USER_LOGIN, method: .post, parameters: parameters).responseJSON
        {
            response in
            let result = response.result
            if let dict = result.value as? Dictionary<String,AnyObject>{
                if let innerDict = dict["Doctor"]{
                    self.namesarray = innerDict as! [AnyObject]
                    self.jsontable.reloadData()

                }
            }

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return namesarray.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as? CustomTableViewCell
   let name = namesarray[indexPath.row]["doctorname"]

    cell?.lbldocname.text = name as? String
    flag = !flag
    flagcheck()
    return cell!
}
let参数:参数=[“hnum”:hnum!]
请求(URL\u USER\u LOGIN,方法:.post,参数:parameters).responseJSON
{
回应
让result=response.result
如果让dict=result.value作为字典{
如果让innerDict=dict[“医生”]{
self.namesarray=innerDict as![AnyObject]
self.jsontable.reloadData()
}
}
func tableView(tableView:UITableView,numberofrowsinssection:Int)->Int{
返回namesarray.count
}
func tableView(tableView:UITableView,cellForRowAt indexath:indexPath)->UITableViewCell{
让cell=tableView.dequeueReusableCell(标识符为“cell”,用于:indexPath)作为?CustomTableViewCell
让name=namesarray[indexath.row][“doctorname”]
单元格?.lbldocname.text=名称为?字符串
flag=!flag
flagcheck()
返回单元!
}

此视图控制器仅加载我的医生姓名,因此当我单击医生姓名时,我只希望presid传递给下一个视图控制器…我尝试了prepareForSegue,但它不起作用…有什么想法吗???

声明一个全局变量selectedPresId。实现DidSelectRowatinexPath方法,并在该方法中设置该glo中的pres idbal变量

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

selectedPresId = namesarray[indexPath.row]["presid"]
 self.performSegue(withIdentifier: "detailSegue", sender: self)

}
在准备阶段,请这样做

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "detailSegue" {
    let vc = segue.destination as! ViewController
    vc.selectedPresId = selectedPresId
}
在第二个视图控制器中,创建一个名为-selectedPresId的属性,以便您可以在vc.selectedPresId行上方设置它

tableView:didSelectRowAtIndexPath:
通知代理指定的行已被选中。使用indexPath在tableView中查找新选定的行

查看我以前的详细信息

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
      let pressId = namesarray[indexPath.row]["presid"]

      if let viewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "SecondViewController ") as? SecondViewController {
           viewController.pressId= pressId
           if let navigator = navigationController {
                navigator.pushViewController(viewController, animated: true)
      }
   }
}

在SecondViewController中声明一个全局变量pressId,以便您可以从当前控制器类访问它。

显示didselect row委托方法代码您需要在执行segu时获取该键值,或者您可以将数组传递给第二个控制器并在那里读取值。@DSDharma…我没有它…因为我不知道如何使用它。。。。你能把它放在这里吗?@nithinsampath我已经在步骤中添加了所需的代码,供你在我的答案中使用。