Search code examples
iosswiftxcode8uipickerview

extract value from UIpickerview as variable


so i have this code for a UIpickerview and i want to get the value selected as a variable to use later, i tried using a variable gravity but it says "initialisation of variable gravity was never used...." here's my code:

 var g = ["9.807", "3.711"]
func numberOfComponents(in pickerView: UIPickerView) -> Int {
    return 1
}

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

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

func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
    var gravity = Float(g[row])
}

Solution

  • You need to declare the var outside of the scope of your method:

    var gravity: Float?
    func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
       gravity = Float(g[row])
    }
    

    A local variable scope is limited to the method and as you don't use it within the method you get a warning for that.

    This is Swift not Javascript :)