【问题标题】:pickerView in Swift does not display dataSwift中的pickerView不显示数据
【发布时间】:2015-04-15 18:15:39
【问题描述】:

这似乎太简单了,无法成为帖子,但我在这个问题上停留的时间比我想要的要长。 pickerView 不显示数组 [durations]。运行时,模拟器只是空白字段。代码是直接从 UI 类复制的,但似乎缺少一些东西。

class FirstViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource {
    @IBOutlet weak var durationPicker: UIPickerView!
    var durations = ["72 hours", "24 hours", "6 hours", "2 hours", "20 minutes"]
    var durationsValue = [72.0, 24.0, 6.0, 2.0, 0.329]
    var itemSelected: String = ""
    var selectedDuration: Double = 0.0

    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.
    }

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

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

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

    func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
        itemSelected = durations[row]
        selectedDuration = durationsValue[row]
    }
}

【问题讨论】:

  • 你设置了picker的datasource和delegate吗?
  • 请不要通过破坏您的帖子为他人增加工作量。通过在 Stack Overflow 上发帖,您已根据CC BY-SA 3.0 license 授予 SO 分发该内容的不可撤销的权利。根据 SO 政策,任何破坏行为都将被撤销。如果您想了解更多关于删除帖子的信息,请在How does deleting work?了解更多信息

标签: ios swift uipickerview


【解决方案1】:

你需要在viewDidLoad()里面设置delegatedatasource

durationPicker.delegate = self
durationPicker.dataSource = self

或者只是使用 Xcode 接口连接你的选择器 delegatedatasource

【讨论】:

    【解决方案2】:

    我建议观看此视频。这位女士在解释各种与 iOS 相关的主题方面做得非常出色。

    https://www.youtube.com/watch?v=MdXmIViD17U

    我突然想到的问题是您在顶部指定了数组。您应该使用return yourArray.count 来返回Ints,而不是硬编码值。

    【讨论】:

      猜你喜欢
      • 2017-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-17
      • 2015-12-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多