swift multilpe pickerView

swift multilpe pickerView

填充选取器视图时,我似乎无法显示所有三个选项。它只会给我最后的 selected 列结果。

import UIKit

class ViewThree: UIViewController, UIPickerViewDelegate {

    @IBOutlet var sizePicker: UIPickerView!

    var wheelContents:[[String]] = []
    var one = ["1", "2"]
    var two = ["A", "B", "C"]
    var three = ["X", "Y"]

    @IBOutlet var sparLabel: UILabel!

    override func viewDidLoad() {
        super.viewDidLoad()
        wheelContents = [one, two, three]
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
        return wheelContents.count
    }

    func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
        return wheelContents[component].count
    }

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

    func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {

        var wheel = wheelContents[component][row]
        sparLabel.text = "\(wheel)"
    }
}

问题是我不确定在我的 didSelectRow 中放什么{} 如果我将它们作为单独的结果生成,每当我 select 三行列的第三个选项时,它似乎会崩溃。 如果我保持原样,它只会给出最后的 selected 列和行。 我希望它显示在一个标签中,例如“1CY”。

谢谢

var result = ""

for var i = 0; i < wheelContents.count; i++
{
    let selectedRow = pickerView.selectedRowInComponent(i) //get selected row in component
    let value = wheelContents[i][selectedRow] //get displayed value in component
    result += value + " "
}

sparLabel.text = result