Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @IBOutlet weak var modelPicker: UIPickerView!
- @IBOutlet weak var makePicker: UIPickerView!
- @IBOutlet weak var yearPicker: UIPickerView!
- var makeRow = 0
- var modelRow = 0
- var yearRow = 0
- var listOfMakes: [String] = [String]()
- var listOfModels: [String] = [String]()
- var listOfYears: [String] = [String]()
- var carlist: Dictionary <String, Dictionary<String,Dictionary<String,String>>> = Dictionary()
- override func viewDidLoad() {
- super.viewDidLoad()
- modelPicker.delegate = self
- modelPicker.dataSource = self
- makePicker.delegate = self
- makePicker.dataSource = self
- yearPicker.delegate = self
- yearPicker.dataSource = self
- self.listOfMakes = Array(carDictionary.keys)
- let firstCar = listOfMakes[0]
- let modelsDictionary = carlist[firstCar]! as Dictionary<String, Dictionary<String, String>>
- self.listOfModels = Array(modelsDictionary.keys).sorted()
- let firstModel = listOfModels[0]
- let yearsDictionary = modelsDictionary[firstModel]! as Dictionary<String, String>
- self.listOfYears = Array(yearsDictionary.keys).sorted()
- }
- override func didReceiveMemoryWarning() {
- super.didReceiveMemoryWarning()
- // Dispose of any resources that can be recreated.
- }
- func setModelsList(make: String) {
- let modelsDictionary = carlist[make]! as Dictionary<String, Dictionary<String, String>>
- self.listOfModels = Array(modelsDictionary.keys).sorted()
- }
- func setYearsList(make: String, model: String) {
- let modelsDictionary = carlist[make]! as Dictionary<String, Dictionary<String, String>>
- let modelsList = Array(modelsDictionary.keys)
- let yearsDictionary = modelsDictionary[model]! as Dictionary<String, String>
- self.listOfYears = Array(yearsDictionary.keys).sorted()
- }
- func numberOfComponents(in pickerView: UIPickerView) -> Int {
- return 1
- }
- func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
- if pickerView == makePicker {
- return listOfMakes.count
- }
- else if pickerView == modelPicker {
- return listOfModels.count
- }
- else {
- return listOfYears.count
- }
- }
- func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
- if pickerView == makePicker {
- return listOfMakes[row]
- }
- else if pickerView == modelPicker {
- return listOfModels[row]
- }
- else {
- return listOfYears[row]
- }
- }
- func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
- if pickerView == makePicker {
- makeRow = row
- setModelsList(make: listOfMakes[makeRow])
- setYearsList(make: listOfMakes[makeRow], model: listOfModels[0])
- modelPicker.selectRow(0, inComponent: 0, animated: true)
- yearPicker.selectRow(0, inComponent: 0, animated: true)
- self.modelPicker.reloadAllComponents()
- self.yearPicker.reloadAllComponents()
- }
- else if pickerView == modelPicker {
- modelRow = row
- setYearsList(make: listOfMakes[makeRow], model: listOfModels[modelRow])
- yearPicker.selectRow(0, inComponent: 0, animated: true)
- self.modelPicker.reloadAllComponents()
- self.yearPicker.reloadAllComponents()
- }
- else {
- //do anything you want once you have chosen a specific year.
- }
- }
Add Comment
Please, Sign In to add comment