Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用UIPickerView上第一个组件上的值更改其余组件_Ios_Swift_Components_Uipickerview - Fatal编程技术网

Ios 使用UIPickerView上第一个组件上的值更改其余组件

Ios 使用UIPickerView上第一个组件上的值更改其余组件,ios,swift,components,uipickerview,Ios,Swift,Components,Uipickerview,刚刚得到了一些很大的帮助,使UIPickerView车轮工作得很好,但我一直在尝试获取第二和第三个部件中的数据,以根据第一个部件的位置进行更改 我可以通过一些println行计算出我提取whatConversion的变量具有正确的值,但我不知道如何更改数组并使用新值更新UIPickerView 请帮助我保持清醒,而且在花了几乎一整天的时间在这些十几行代码上之后,我将不得不在工作中投入额外的时间 提前谢谢 斑驳 我更高兴的是,通过查看类定义和函数,我自己设法解决了这个问题 已使用bigPicker

刚刚得到了一些很大的帮助,使UIPickerView车轮工作得很好,但我一直在尝试获取第二和第三个部件中的数据,以根据第一个部件的位置进行更改

我可以通过一些println行计算出我提取whatConversion的变量具有正确的值,但我不知道如何更改数组并使用新值更新UIPickerView

请帮助我保持清醒,而且在花了几乎一整天的时间在这些十几行代码上之后,我将不得不在工作中投入额外的时间

提前谢谢

斑驳


我更高兴的是,通过查看类定义和函数,我自己设法解决了这个问题

已使用bigPicker.reloadAllComponents()

import UIKit

class ViewController: UIViewController, UIPickerViewDelegate {

@IBOutlet weak var picker1Label: UILabel!
@IBOutlet weak var picker2Label: UILabel!

@IBOutlet weak var bigPicker: UIPickerView!

var wheelContents:[[String]] = []
var length = ["metres","feet","yards","inches","mm","cm","miles"]
var volume = ["m3","US Gall","Imp Gall","Barrels", "cubic FT","litres"]
var conType = ["length","volume"]


override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    bigPicker.delegate = self
    wheelContents = [conType, length, length]

}

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


//For main selection of type of conversion
// returns the number of 'columns' to display.
func numberOfComponentsInPickerView(bigPicker: UIPickerView) -> Int{

    return wheelContents.count

}

// returns the # of rows in each component..
func pickerView(bigPicker: UIPickerView, numberOfRowsInComponent component: Int) -> Int{

    return wheelContents[component].count

}

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

    return wheelContents[component][row]

}

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

    var whatConversion = wheelContents[0][bigPicker.selectedRowInComponent(0)]

    switch(whatConversion){

        case "length":
        wheelContents = [conType, length, length]
        bigPicker.numberOfRowsInComponent(wheelContents[component].count)

        break



        case "volume":
        wheelContents = [conType, volume, volume]

        break

    default:
        break

    }

}




}