从pickerview中的选定行获取另一个值

时间:2017-02-04 00:50:25

标签: ios swift

我正在使用PickerView来显示来自JSON数组的数据。

JSON数组有几个键,我正在合并两个键中的值来填充选择器视图:

create table tbl_PLAYERS

当用户选择一行时,所选值为字符串fullName:

(
     RosterNo int  primary key,
     Name varchar(20) ,
     Position varchar(20),
     code varchar (20) not null,
      Codes varchar (20) not null constraint fk_code foreign key references tblShoes(Codes)
     );

如何将字符串fullName显示为行标题,但是获取另一个JSON键的值作为结果?

编辑:

 let fullName = (friendObj["nombre"] as! String) + " " + (friendObj["apellidos"] as! String)

 self.searchResults.append(fullName)

1 个答案:

答案 0 :(得分:0)

我已按如下方式解决:

  for friendObj in friends
                  { let fullName = ["Nombre": friendObj["nombre"] as! String, "Apellidos": friendObj["apellidos"] as! String, "Id": friendObj["id"] as! String, "Tel": friendObj["tel"] as! String, "Email": friendObj["email"] as! String]

                      self.searchResults.append(fullName)

                                }
...

   func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
        print (searchResults[row]["Id"]!)
        let prefs = UserDefaults.standard
        prefs.setValue(searchResults[row]["Id"], forKey: "miAsesorId")
        prefs.setValue(searchResults[row]["Nombre"]! + " " + searchResults[row]["Apellidos"]!, forKey: "miAsesor")
        prefs.setValue(searchResults[row]["Tel"], forKey: "miAsesorTel")
        prefs.setValue(searchResults[row]["Email"], forKey: "miAsesorEmail")

    }

正如@ Paulw11所说,我改变了字典的数组,现在工作正常。