• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - pickerview 不显示数组中的数据

[复制链接]
菜鸟教程小白 发表于 2022-12-11 19:18:13 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

PikerView 在我的 View Controller 中没有显示数据。

当我使用一些 Array 文字值对其进行测试时,它工作正常。

我应该在某处重新加载数据吗?

class FirstViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource
{
    @IBOutlet var baseCurrency: UITextField!
    @IBOutlet var excahngeCurrency: UITextField!
    @IBOutlet var dropDown: UIPickerView!

    var list: [String: AnyObject] = [String: AnyObject]()
    var titles: [String] = []
    override func viewDidLoad()
    {
        super.viewDidLoad()

        let url:URL = URL(string: "https://openexchangerates.org/api/currencies.json?app_id=7486951aeb994599a08cd7979bef3c03")!
    Alamofire.request(url).responseJSON(completionHandler:
        {
            response in
            switch response.result
            {
            case.success:
                self.list = response.result.value as! [String: AnyObject]
                for (key, _) in self.list
                {
                    self.titles += [key]
                }

                print(self.titles)
            case.failure:
                print("error")
            }
        })
    }

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

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

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

    func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int)
    {
        exchangeCurrency.text = self.titles[row]
    }
}



Best Answer-推荐答案


如果您确实从 URL 获取数据(我没有验证这一点,并且我假设您确实在 print 语句中看到了数据)您需要调用 reloadAllComponents 在您的选择器 View 上,以便在获取数据后重新加载数据。

关于ios - pickerview 不显示数组中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42881554/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap