首页 > 解决方案 > UIPickerView 未加载

问题描述

这个 UIPicker 的数据没有加载,我得到了正确的行数,但是一个“?” 对于每个元素,而不是数组 pickerValues 中的值。我是 Swift 的新手,希望我错过了一些明显的东西。Xcode 9/Swift4。

import UIKit


class ViewController3: UIViewController,UIPickerViewDelegate, UIPickerViewDataSource {

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

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


    @IBOutlet weak var picker: UIPickerView!

    let pickerValues = ["Choice 1", "Choice 2", "Choice 3","Choice 4"]


    override func viewDidLoad() {
        super.viewDidLoad()

        picker.dataSource = self

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

}

编辑:我不同意我的问题是骗人的。它处理相同的主题,但在我的情况下,选择器委托方法丢失了。链接的问题并非如此。

标签: swiftuipickerview

解决方案


你需要实施

func pickerView(_ pickerView: UIPickerView,titleForRow row: Int,forComponent component: Int) -> String?  {

    return pickerValues[row]

}

推荐阅读