2017-07-06 40 views
2

在這個我嘗試加載選擇器視圖與數據,但無法加載數據,它顯示如下圖所示,只有空的選擇器視圖顯示我試圖從很長一段時間任何人可以幫助我什麼是錯誤的實施?
enter image description here在我的選擇器視圖中,數組數據未加載?

var firstName : String = "" 
    var lastName : String = "" 
    var mobileNumber : Int = 0 
    var email : String = "" 
    var defaultValue = 1 
    let url = "http://www.json-generator.com/api/json/get/bPmyumGWeW?indent=2" 
    var dateofbirth : String = "" 
    var Gender : String = "" 
    var genderArray = [String]() 

     override func viewDidLoad() { 
     super.viewDidLoad() 
     let picker = UIPickerView() 
     picker.isHidden = true 
     picker.delegate = self 
     DateofBirthTextfield.delegate = self 
     selectGenderTextField.inputView = picker 
     MyaccountJsonWithURL() 
     genderArray = ["Male","Female"] 

    } 

    func MyaccountJsonWithURL() { 
     let url = NSURL(string: self.url) 
     URLSession.shared.dataTask(with: (url as URL?)!, completionHandler: {(data, response, error) -> Void in 
      if let jsonObj = try? JSONSerialization.jsonObject(with: data!, options: .allowFragments) as? NSDictionary { 
       // print(jsonObj!.value(forKey: "Detail")) 
       if let profileArray = jsonObj!.value(forKey: "profile") as? NSArray { 
        for array in profileArray { 
         if let profileDict = array as? NSDictionary { 
          if let firstName = profileDict.value(forKey: "first name"){ 
           self.firstName.append(firstName as! String) 
          } 
          if let lastName = profileDict.value(forKey: "last name"){ 
           self.lastName.append(lastName as! String) 
          } 
          self.mobileNumber = profileDict.value(forKey: "mobile") as! Int 
          print(self.mobileNumber) 
          if let emailId = profileDict.value(forKey: "email"){ 
           self.email.append(emailId as! String) 
          } 
          self.dateofbirth = profileDict.value(forKey: "dob") as! String 
          if let gender = profileDict.value(forKey: "gender"){ 
           self.Gender.append(gender as! String) 
          } 
         } 
        } 
       } 
       OperationQueue.main.addOperation({ 
        self.FirstNameTextfield.text = self.firstName 
        self.LastNameTextfield.text = self.lastName 
        self.MobileNumberTextfield.text = String(describing: self.mobileNumber) 
        self.EmailIdTextfield.text = self.email 
        self.DateofBirthTextfield.text = String(describing: self.dateofbirth) 
        self.selectGenderTextField.text = self.Gender 
       }) 
      } 
     }).resume() 
    } 

func numberOfComponents(in pickerView: UIPickerView) -> Int { 
     return 1 
    } 

    func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { 
     return genderArray.count 
    } 

    func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { 
     return genderArray[row] 
    } 

    func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { 
     selectGenderTextField.text = genderArray[row] 
     self.view.endEditing(false) 
    } 

回答

0

viewDidLoad設置選擇器爲hidden。設置picker.isHidden = false以顯示它

+0

沒有它顯示我在圖中可見,灰色 –

+0

感謝兄弟我檢查一切這一次得到了錯過 –

+0

所示@蒂魯你解決了嗎?接受答案,如果它的工作:) – Bali

1

型&更換picker.hidden =真

picker.hidden = false 
相關問題