2016-08-06 8 views
2

Ich habe eine Picker mit zwei Optionen derzeit, und was ich suche ist, basierend auf der Auswahl in der Picker, um den nächsten viewController unten zu bestimmen, was ich versucht habe zu verwenden Ich habe jedoch sofort eine Fehlermeldung erhalten, dass die letzte "if" -Anweisung in eine let-Anweisung umgewandelt werden sollte. Unten ist der Code für meinen Picker und versuche, in assoziierte Segmente zu führen.Bestimmen Segue Basierend auf Picker Auswahl IOS, swift

import UIKit 
import Firebase 
import CoreData 
import CoreLocation 

class SchoolPickerViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate { 
    @IBOutlet weak var SchoolPicker: UIPickerView! 
    let pickerData = ["Ohio State University", "University of Rochester"] 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     SchoolPicker.dataSource = self 
     SchoolPicker.delegate = self 
     // Do any additional setup after loading the view. 
    } 

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

    func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int { 
    return 1 
    } 
    func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { 
     return pickerData.count 
    } 

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

    @IBAction func schoolSelectorGoButton(sender: AnyObject) { 
     if pickerData = "Ohio State University" { 
      performSegueWithIdentifier("ohioStateSelected", sender: sender) 
     } 
     if pickerData = "University of Rochester" { 
      performSegueWithIdentifier("rochesterSelected", sender: sender) 
     } 
    } 


} 

Antwort

2

u Picker Daten von Array

var selectedIndex = 0 

dann in dieser Zeile

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

und in dieser Aktion

@IBAction func schoolSelectorGoButton(sender: AnyObject) { 
    if pickerData[selectedIndex] == "Ohio State University" { 
     performSegueWithIdentifier("ohioStateSelected", sender: sender) 
    } 
} 
definieren ausgewählt bekommen sollte 10