【问题标题】:In my picker view array data is not loading?在我的选择器视图中,数组数据没有加载?
【发布时间】:2017-07-06 13:54:08
【问题描述】:

在此我尝试使用数据加载选择器视图,但无法加载数据,如下图所示,只有空的选择器视图显示我一直在尝试,任何人都可以帮助我有什么问题实施?

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

【问题讨论】:

    标签: ios swift3 uipickerview


    【解决方案1】:

    在 picker.hidden = true 上键入和替换

    picker.hidden = false
    

    【讨论】:

      【解决方案2】:

      viewDidLoad 中,您将选择器设置为hidden。设置picker.isHidden = false显示它

      【讨论】:

      • 没有显示我在图中显示的灰色
      • @Thiru 你解决了吗?如果有效,请接受答案:)
      • 它现在显示我认为如果数据没有加载但我认为该行会使整个选择器视图隐藏
      • 是否可以为此更改选择器视图的高度? @巴厘岛
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多