2
データでピッカービューをロードしようとしましたが、データを読み込むことができず、下の図のように空のピッカービューのみが表示されています。私は長い間試していましたが、 ? viewDidLoad
で
私のピッカービューの配列データがロードされていませんか?
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)
}
なしのiはグレー –
おかげで私の仲間他のすべてにチェックこの1つは –
を逃してしまったことを図に示した表示真
picker.isHidden = false
を設定します@ Thiruあなたはそれを解決しましたか?それがうまくいけば答えを受け入れてください:) – Bali