【问题标题】:Parse JSON Data to UIPickerView in Swift在 Swift 中将 JSON 数据解析为 UIPickerView
【发布时间】:2016-07-10 16:51:37
【问题描述】:

我有一个代表国家/地区的 UIPickerview,我正在尝试从 MYSQL 数据库中获取其数据,但我无法处理来自 PHP 文件的数据。我找不到任何 Swift 解决方案,所以这就是我在这里的原因。

//its the default values of pickerview
var pickOption = ["one", "two", "three", "seven", "fifteen"]

func getCountries() {
    let url:NSURL = NSURL(string: "http:/domain.com/getCountriesLong.php")!
    let session = NSURLSession.sharedSession()

    let request = NSMutableURLRequest(URL: url)
    let task = session.downloadTaskWithRequest(request) {
        (
        let location, let response, let error) in

        guard let _:NSURL = location, let _:NSURLResponse = response  where error == nil else {
            print("error")
            return
        }

        let urlContents = try! NSString(contentsOfURL: location!, encoding: NSUTF8StringEncoding)

        guard let _:NSString = urlContents else {
            print("error")
            return
        }

        //all result is here
        //print(urlContents)
        //string to NSData conversion
        let data = urlContents.dataUsingEncoding(NSUTF8StringEncoding)
        do {
            //parse NSData to JSON
            let json = try NSJSONSerialization.JSONObjectWithData(data!, options: .AllowFragments)

            //pickOption = json["countryName"]
            //pickOption = json

        } catch {
            print("error serializing JSON: \(error)")
        }


    }

    task.resume()

}

这里是 PHP

$menuData = $db->get_results("SELECT countryName FROM countries ORDER BY countryName ASC");

echo json_encode($menuData);

如何使用即将到来的数据作为我的 UIPickerView 的值?

【问题讨论】:

    标签: php json swift


    【解决方案1】:

    我找到了解决方案。而不是使用 pickOption = json["countryName"] 我已经声明了新数组。在这里;

    var arr = [String]()
    
        for name in json as! [AnyObject] {
             if let country = name["countryName"] as? String {
                  arr.append(country)
             }
        }
    
    self.pickOption = arr
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-29
      • 1970-01-01
      • 2017-02-07
      • 2016-09-09
      • 2020-01-08
      • 2018-03-19
      • 1970-01-01
      • 2017-06-24
      相关资源
      最近更新 更多