uipickerview国家列表迅速3 [英] list of countries into uipickerview swift 3

查看:71
本文介绍了uipickerview国家列表迅速3的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我用谷歌搜索了如何找到国家列表并尝试将其实施到PickerView中,但是我被困在尝试执行countries.count的位置,这给了我一个错误:

I googled how to find the list of the countries and trying to implement into PickerView, but I am stuck at this point where I try to do countries.count it gives me an error saying:

无法将类型为'int'的返回表达式转换为类型为'string'的返回表达式 有什么建议吗?

cannot convert return expression of type 'int' to return type 'string' any suggestions?

import UIKit

class ViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate{
    @IBOutlet weak var pickerValue: UIPickerView!

    let countries = NSLocale.isoCountryCodes.map { (code:String) -> String in
        let id = NSLocale.localeIdentifier(fromComponents: [NSLocale.Key.countryCode.rawValue: code])
        return NSLocale(localeIdentifier: "en_US").displayName(forKey: NSLocale.Key.identifier, value: id) ?? "Country not found for code: \(code)"
    }

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

    func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
        return countries.count
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

推荐答案

您需要在方法numberOfRowsInComponent中返回数组计数,而在titleForRow中,您需要返回数组对象,表明它将在选择器中显示.

You need to return array count in method numberOfRowsInComponent and in the titleForRow you need to return array object, show that it will show in picker.

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

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

这篇关于uipickerview国家列表迅速3的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆