pickerView не может загрузить данные JSON, которые извлекаются из Alamofire 4.8.2 с использованием SwiftyJSON в коде Swift 5 - PullRequest
0 голосов
/ 05 июля 2019

Я звоню API для заполнения данных в UIPickerView, используя Swift 5 и Alamofire 4.8.2 .

import UIKit
import Alamofire
import SwiftyJSON

class ViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate {

    var my_array = [[String : AnyObject]]()

    @IBOutlet weak var pickerArray: UIPickerView!
    @IBOutlet weak var labelName: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()
        guard let url = URL(string:"https://restcountries.eu/rest/v2/all") else {
            return
        }

        Alamofire.request(url, method: .get, encoding: JSONEncoding.default, headers: nil).responseJSON { (resData) -> Void in

            let swiftyJsonVar = JSON(resData.result.value!)
                print("Full Output", swiftyJsonVar)
            let finalData = swiftyJsonVar[0]["callingCodes"].arrayValue
                print("final data", finalData)
            let finalData2 = swiftyJsonVar[0]["borders"].arrayValue
                print("single dimensional array output: ", finalData2)
            let sampData = JSON(resData.result.value!)
            self.my_array = finalData2 as [AnyObject] as! [[String : AnyObject]]
            self.pickerArray.reloadAllComponents()                
        }

    }

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

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

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

    func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
        labelName.text = "You Selected : " + my_array[row]
    }
}

Наконец, мне нужно это * " finalData2 " результат в моем окне выбора * также любые данные, которые мне нужно взять из этих вложенных данных JSON и передать в представление выбора

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...