Swift: How to set a default Value of a UIPickerView with three components in Swift?

This is the code I have used in one of my apps:

// Declare the outlet to the picker in your storyboard
@IBOutlet var myPicker: UIPickerView!

//...

override func viewDidLoad() {
//...
    myPicker.selectRow(row, inComponent: 0, animated: true)
}

Obviously, replace row and 0 with whatever values you want.

Hope this Helps!


@IBOutlet weak var mPicker: UIPickerView!
var items: [String] = ["NoName1","NoName2","NoName3"] // Set through another ViewController
var itemAtDefaultPosition: String?  //Set through another ViewController

//..
//..

var defaultRowIndex = find(items,itemAtDefaultPosition!)
if(defaultRowIndex == nil) { defaultRowIndex = 0 }
mPicker.selectRow(defaultRowIndex!, inComponent: 0, animated: false)

SWIFT 5

The function "SetDefaultValue" will position the pickerView on the desired string by finding the item position in the pickerData which is used to populate the picker view. In this example it will be "item 2"

var pickerView = UIPickerView()
var pickerData = ["item 1","item 2","item 3","item 4","item 5"]
var defaultItem = "item 2"

func setDefaultValue(item: String, inComponent: Int){
 if let indexPosition = pickerData.firstIndex(of: item){
   pickerView.selectRow(indexPosition, inComponent: inComponent, animated: true)   
 }
}